将DAV转换为MP4和OGG

时间:2014-10-21 18:23:45

标签: video browser ffmpeg html5-video ogg

我想准备包含来自安全摄像机的电影的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.

3 个答案:

答案 0 :(得分:0)

ffmpeg -i movie.dav -vn -acodec libvorbis audiofile.ogg

我没有测试过这个。

答案 1 :(得分:0)

我有一个答案就试试吧。

安装此Nuget NReco.VideoConverter

包管理控制台

Install-Package NReco.VideoConverter -Version 1.1.2

和这个转换方法

var ffMpeg = new NReco.VideoConverter.FFMpegConverter();
ffMpeg.ConvertMedia(inputfile.dav, "output.mp4", Format.mp4);

答案 2 :(得分:0)

我只需要解决同样的问题,即使没有使用ffmpeg我也找到了解决方案。

我在Windows上试过这个,但我想如果在Linux上完成它就不会有任何区别。

要转换.dav文件我使用VLC,如下所示:

1)转到工具 - &gt; VLC工具栏中的首选项。

2)然后选择&#34;全部&#34;在左下角的“显示设置”字段中。

3)进入&#34; Demuxers&#34;部分并切换自&#34;自动&#34;到&#34; H264视频解复用器&#34;并保存。 4)然后再从VLC工具栏转到Media - &gt;转换/保存...

5)选择添加,然后选择您要转换的文件。

6)按&#34;转换/保存&#34;上的箭头。按钮并选择转换

7)然后选择了一个&#34;目标文件&#34;在下面的部分中点击浏览

8)最后按&#34;开始&#34;并等待VLC进度条充满。

此时应该成功转换文件。

无论如何,在第3步之后,您应该已经能够播放.dav文件,以便检查它是否已损坏,请先尝试播放。

希望答案对某些人有用,祝大家一切顺利:)

编辑:这个答案当然与这个问题并不完全相关,因为我不知道这些信息是否对网页有任何用处:\所以,抱歉没有完全保留在主题上