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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行jekyll服务时,嵌入式本地mp4无法在Chrome中播放(ECONNRESET)相关的知识,希望对你有一定的参考价值。

我正在开发一个简单的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,然后尝试使用它。
答案

我最近自己有这个问题。通过确保视频嵌入了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/

以上是关于运行jekyll服务时,嵌入式本地mp4无法在Chrome中播放(ECONNRESET)的主要内容,如果未能解决你的问题,请参考以下文章

如何在本地部署包含 css、js 和背景图像的 jekyll 站点?

iTextSharp 将 MP4 嵌入 PDF,但无法从 Acrobat Reader 播放

在 Windows 上搭建本地 Jekyll 编译环境时问题汇总

win7 运行 jekyll --server 失败

如何使用带有本地文件的 HTML5 嵌入视频

Grails 4:邮件插件在 Elastic Beanstalk 上运行时无法读取“密码”属性