我正在尝试在浏览器中播放 .h264 文件,尝试使用html视频标记来完成此操作。结果总是一个空框架。
我确实在网上查看了一些链接,他们建议在 .mp4 容器中播放视频。
有人可以帮我完成这个吗?
更新代码:
<video width="560" height="340" preload controls>
<source src="hh.h264" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
<!--<source src="hh.mov" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
<source src="hh.ogv" type='video/ogg; codecs="theora, vorbis"' />
<source src="hh.webm" type='video/webm; codecs="vp8, vorbis"' />-->
</video>
参考文献:
http://www.htmlgoodies.com/html5/client/how-to-embed-video-using-html5.html#fbid=6u-u00TH7Je
答案 0 :(得分:2)
.h264 文件包含浏览器不直接支持的原始H.264流。您可以使用FFmpeg
之类的工具将其放入容器中,就像建议的其他答案一样:
ffmpeg -f h264 -i test.h264 -c:v copy test.mp4
修改强>
如果必须播放原始H.264字节流,那么您需要一个浏览器插件。 VLC Web插件示例:
<embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org" target="test.h264" />
答案 1 :(得分:2)
我在broadway h264编解码器(emscripten)上编写了一个HTML5视频播放器,可以在所有浏览器(桌面,iOS,...)上播放实时(无延迟)h264视频。
视频流通过websocket发送到客户端,每帧解码帧并显示在canva中(使用webgl进行加速)
在github上查看https://github.com/131/h264-live-player。
答案 2 :(得分:0)
您不必在html代码中包含h.264,您只需要包含视频文件的路径和视频文件名。所以,我们假设你的视频文件是.mp4,你的文件名是myvideo.mp4
,你的myvideo.mp4
位于名为videos
的文件夹中,你的html文件是就在项目文件夹中的videos
文件夹之外,这就是你必须要做的事情:
<video width="560" controls>
<source src="videos/myvideo.mp4" type="video/mp4">
</video>
如果您的视频以mp4格式编码,这将有效。 h264是一个编解码器,在这种情况下完全不相关。
你应该首先在网上找到一个mp4编码器,有很多免费的编码器,将你的视频编码为.mp4,然后使用上面的html代码,你的视频就可以了。