如何在HTML Video标签中播放FLV视频?

17

我看了一些播放器,比如Flow Player、JW Player等,但是我无法在PHP代码中完全实现它们的功能。

有没有办法在HTML视频标签中播放FLV格式的视频?

我知道MP4和OGG文件可以,但我正在处理一个FLV文件。


1
.flv不是支持的HTML视频标签格式。视频元素支持的格式列表 - Evan Emolo
看一下这个:https://dev59.com/tnE95IYBdhLWcg3wlu0g - John Lim
1
尝试使用 flv.js https://github.com/Bilibili/flv.js,在我的项目中它运行良好。 - feiyuw
5个回答

11
你应该查看来自www.videojs.comvideo.js。我一直在使用它来流式传输实时视频。它像这样模仿了 video 标签:
<video id="example_video_1" class="video-js vjs-default-skin"
 controls preload="auto" width="640" height="480"
 poster="http://video-js.zencoder.com/oceans-clip.png"
 data-setup='{"example_option":true}'>
<source src="rtmp://localhost/live/test" type="rtmp/flv">
</video>

对我来说非常有效。


2
vjs.Flash.formats = {'video/flv':'FLV'},它似乎使用Flash Player播放flv文件。 - Joseph Lennox
2
@Ron:请展示如何播放视频/FLV,而不是RTMP/FLV的例子。 - user285594
不是那个.. 实际上正确的媒体类型是 video/x-flv - user257319

5
您可以考虑使用其他能够播放FLV文件的播放器;已知的浏览器(Chrome、Firefox等)在没有使用某种Flash播放器的情况下无法运行FLV文件。
以下是需要翻译的内容:
  1. 如果您正在使用PHP,您可能需要使用Flash播放器!使用Adobe Flash Player,不要害羞!YouTube和许多其他网站都在使用它。

  2. 您也可以尝试使用您已经尝试过的播放器。

  3. 您可以将视频转换为MP4或OGG格式。这样每个浏览器都可以使用HTML5 <video></video>标签播放视频文件。

但请记住:每个浏览器对于播放视频文件都有自己的限制;您可以在此处查阅浏览器支持情况:Mozilla Developer Network

12
为什么要说“如果你正在使用PHP”?我看不出后端语言和前端视频客户端之间有任何关系。 - Nazareno Lorenzo

4
您可以使用 flv.js 或通过 MediaElement.js(其底层将使用 flv.js),尽管支持的内容仅限于包含 H.264 视频和 AAC/MP3 音频的 FLV 文件。
使用 MediaInfo 软件或您喜欢的视频播放器检查您的 FLV 文件中使用了哪些编解码器。
如果您的 FLV 文件内置有 H.264 + AAC,您还可以无损地将其转换为 MP4,而不需要重新编码:
ffmpeg -i input.flv -codec copy output.mp4

4

1
从技术上讲,HTML5视频规范是编解码器/协议不可知的,因此想象支持flv文件是可能的。问题是:没有任何主流的Web浏览器实现它(可能是因为flv是来自Adobe的专有容器)。您需要一个Flash组件才能播放它。要么使用您提到的播放器之一,要么如果您正在寻找独立的免费Flash播放器,请尝试Adobe的strobe。您可以在此处尝试它。
如果您能够生成.f4v文件,则可以尝试将它们重命名为mp4,然后尝试在HTML5视频标记中播放它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接