运行jekyll服务时,嵌入式本地mp4无法在Chrome中播放(ECONNRESET)

问题描述 投票:2回答:1

我正在开发一个简单的jekyll网站,我想在一个markdown文件中嵌入一个视频(本地存储的mp4 - 而不是youtube /流服务)。

我只是使用基本标签:

<video width="600" controls="controls">
  <source src="{{ site.my-media-path }}/myvideo.mp4">
</video>

当我运行jekyll serve并在本地访问我的页面时,它在Firefox中完美运行,而在Chrome中,它只显示缩略图(并在播放几毫秒后中断),或显示空控件。

使用Chrome,jekyll在服务器端吐出以下错误:

[2018-02-19 17:57:34] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:11 
    /home/(((my_login)))/.rbenv/versions/2.2.3/lib/ruby/2.2.0/webrick/httpserver.rb:80:in `eof?'
    /home/(((my_login)))/.rbenv/versions/2.2.3/lib/ruby/2.2.0/webrick/httpserver.rb:80:in `run'
    /home/(((my_login)))/.rbenv/versions/2.2.3/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'

Firefox上没有这样的错误。

如果我转到页面源并直接在chrome(而不是通过页面)中点击视频链接,则会发生同样的事情。 (注意:我知道路径是正确的,因为我可以保存/下载它就好了)

如果我只是将视频直接从硬盘拖到我的浏览器中,它可以正常工作,因此它知道如何播放它。

通过iframe链接嵌入YouTube视频效果很好。

我试过的事情:

  • 在Chrome设置中禁用硬件加速
  • 清除浏览历史记录/缓存(某些网站似乎建议不要播放嵌入式视频)
  • 使用kdenlive将视频转换为webm,然后尝试使用它。
google-chrome html5-video jekyll
1个回答
1
投票

我最近自己有这个问题。通过确保视频嵌入了muted属性,我能够始终如一地在Chrome中正确播放视频。例如:

<video muted autoplay controls>
    <source src="{{ site.my-media-path }}/myvideo.mp4" type="video/mp4">
</video>

我认为这是必要的,因为Chrome处理自动播放音频内容的方式发生了变化。

https://googlechrome.github.io/samples/muted-autoplay/

© www.soinside.com 2019 - 2024. All rights reserved.