【发布时间】:2014-10-21 18:23:45
【问题描述】:
我想准备包含来自安全摄像机的影片的 WEB 页面。每个录像机都以 DAV 格式传输视频文件,因此每个电影都通过脚本转换为 MP4 格式,使用如下语法:
ffmpeg -y -i movie.dav -vcodec libx264 -crf 24 movie.mp4
所以我在 HTMLv5 代码中包含了这样的条目:
<video width="320" height="240">
<source src="movie.mp4" type="video/mp4">
</video>
它适用于 Chrome,但不适用于 Firefox。为了在 FF 中正常工作,有必要添加指向 OGG 文件的链接。因此,两种浏览器的正确 HTMLv5 语法应如下所示:
<video width="320" height="240">
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
</video>
谁能帮我传递正确的 ffmpeg 语法来创建 OGG 文件?
使用 -movflags +faststart 选项后从控制台输出
[maciek@piotr MMM]$ ../ffmpeg-2.4.2-64bit-static/ffmpeg -movflags +faststart -y -i 04.24.23-04.24.38\[M\]\[@0\]\[0\].dav -vcodec libx264 -crf 24 10.mp4
ffmpeg version 2.4.2- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2014 the FFmpeg developers
built on Oct 9 2014 07:24:56 with gcc 4.8 (Debian 4.8.3-11)
configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable- libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --disable-ffserver --enable-libass --enable-gnutls --cc=gcc-4.8
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.101 / 56. 4.101
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 1.100 / 5. 1.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
Option movflags not found.
【问题讨论】:
-
不要忘记将
-movflags +faststart添加为 MP4 输出的ffmpeg命令的输出选项。它将 MOOV atom 重新定位到文件的开头;否则客户端必须先下载完整的文件才能进行播放。 -
是的!好主意!
-
但是 ffmpeg 报告一个错误 - 找不到选项 movflags。我使用取自 johnvansickle.com/ffmpeg 的 ffmpeg ver 2.4.2 linux 64 位作为静态二进制文件
-
没有 ffmpeg 命令和控制台输出就无法调试。
-
所以我在第一篇文章中添加了控制台输出
标签: video browser ffmpeg html5-video ogg