我正在开发一个简单的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视频效果很好。
我试过的事情:
我最近自己有这个问题。通过确保视频嵌入了muted
属性,我能够始终如一地在Chrome中正确播放视频。例如:
<video muted autoplay controls>
<source src="{{ site.my-media-path }}/myvideo.mp4" type="video/mp4">
</video>
我认为这是必要的,因为Chrome处理自动播放音频内容的方式发生了变化。