【发布时间】:2021-05-23 14:29:24
【问题描述】:
- 操作系统:Ubuntu 18.04
- FF: 85.0.1
- 错误/警告:无法播放媒体。没有请求格式的解码器:video/mp4、video/mp4
视频/ogg 的相同错误
这是我的问题:1)视频加载后仍然可以正常播放,并且在 Chrome 或 Chromium 中没有错误。为什么视频在加载后可以正常工作,但加载时抛出错误? 2) 有什么可以在不重新编码超过 2 gig 的视频的情况下完成的吗?
背景:这是一个使用 Flash 制作视频的老牌非盈利网站,我们真的不想花太多时间在上面,但有很多视频。我使用最简单的 ffmpeg 命令将所有 .flv 文件和 .mpg 文件转换为 .mp4,示例:
ffmpeg -i video-source.flv video-source.mp4
ffmpeg -i video-source.mpg video-source.mp4
ffmpeg -i video-source.mpg video-source.ogg
当我观看 ffmpeg 输出时,在我看来编解码器是 H264(至少,我认为这是我所看到的,而不是视频专家。)
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> theora (libtheora))
Stream #0:1 -> #0:1 (aac (native) -> vorbis (libvorbis))
服务器对 mp4 文件的直接请求的响应是
Content-Type
video/mp4
我在fragmented mp4 上看到了文档和帖子,如果重新编码是唯一的选择,我们可能会放弃,因为它一旦加载就会播放。
代码很简单,使用 html5 文档类型:
<video id=some-container-id" width="320" height="240" controls>
<source src="/images/video/mp4/video-source.mp4" type="video/mp4">
<source src="/images/video/ogg/video-source.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
这是迎合 FireFox 并重新编码所有内容的唯一选择,因为如上所述,它一旦加载就可以正常运行并且在 Chrome 中不会引发错误?
【问题讨论】: