ffmpeg转换.dav到任何视频文件

时间:2015-09-28 16:18:55

标签: ffmpeg

我正在尝试转换.dav文件(由dvrs [image recorder]生成的文件)。我已尝试使用ffmpeg的多个变体,但无法成功。

命令和控制台输出:

$ ffmpeg -i input.dav -codec:v libx264 -crf 23 -preset medium -codec:a libfdk_aac -vbr 4 -movflags faststart -vf scale=-1:720,format=yuv420p output.mp4
ffmpeg version 2.8 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libdcadec --enable-libfreetype --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvo-aacenc --enable-libvidstab
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, h264, from 'input.Dav':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (Baseline), yuv420p, 704x480, 25 fps, 25 tbr, 1200k tbn, 50 tbc
Codec AVOption vbr (VBR mode (1-5)) specified for output file #0 (output.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[libx264 @ 0x2d99e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x2d99e00] profile High, level 3.1
[libx264 @ 0x2d99e00] 264 - core 142 r2491 24e4fed - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
  Metadata:
    encoder         : Lavf56.40.101
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1056x720, q=-1--1, 25 fps, 12800 tbn, 25 tbc
    Metadata:
      encoder         : Lavc56.60.100 libx264
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame=   58 fps=0.0 q=28.0 size=      93kB time=00:00:00.36 bitrate=2124.9kbits/s    
frame=   76 fps= 71 q=28.0 size=     178kB time=00:00:01.08 bitrate=1347.6kbits/s    
frame=   94 fps= 58 q=28.0 size=     275kB time=00:00:01.80 bitrate=1251.3kbits/s    
frame=  106 fps= 50 q=28.0 size=     393kB time=00:00:02.28 bitrate=1412.9kbits/s    
frame=  122 fps= 46 q=28.0 size=     504kB time=00:00:02.92 bitrate=1413.9kbits/s    
frame=  138 fps= 43 q=28.0 size=     586kB time=00:00:03.56 bitrate=1348.4kbits/s    
frame=  153 fps= 41 q=28.0 size=     676kB time=00:00:04.16 bitrate=1330.4kbits/s    
[h264 @ 0x3348440] Frame num change from 35 to 162
[h264 @ 0x3348440] decode_slice_header error
frame=  166 fps= 39 q=28.0 size=     785kB time=00:00:04.68 bitrate=1374.8kbits/s    
frame=  179 fps= 38 q=28.0 size=     894kB time=00:00:05.20 bitrate=1407.9kbits/s    
frame=  191 fps= 36 q=28.0 size=    1010kB time=00:00:05.68 bitrate=1457.0kbits/s    
frame=  206 fps= 36 q=28.0 size=    1137kB time=00:00:06.28 bitrate=1482.7kbits/s    
frame=  222 fps= 35 q=28.0 size=    1229kB time=00:00:06.92 bitrate=1455.2kbits/s    
frame=  239 fps= 35 q=28.0 size=    1327kB time=00:00:07.60 bitrate=1430.8kbits/s    
frame=  258 fps= 35 q=28.0 size=    1409kB time=00:00:08.36 bitrate=1380.4kbits/s    
frame=  273 fps= 35 q=28.0 size=    1496kB time=00:00:08.96 bitrate=1367.5kbits/s    
frame=  288 fps= 34 q=28.0 size=    1599kB time=00:00:09.56 bitrate=1370.3kbits/s    
frame=  301 fps= 34 q=28.0 size=    1730kB time=00:00:10.08 bitrate=1405.7kbits/s    
frame=  318 fps= 34 q=28.0 size=    1807kB time=00:00:10.76 bitrate=1376.0kbits/s    
frame=  336 fps= 34 q=28.0 size=    1873kB time=00:00:11.48 bitrate=1336.3kbits/s    
frame=  358 fps= 34 q=28.0 size=    1938kB time=00:00:12.36 bitrate=1284.4kbits/s    
frame=  378 fps= 34 q=28.0 size=    1995kB time=00:00:13.16 bitrate=1242.1kbits/s    
frame=  398 fps= 35 q=28.0 size=    2053kB time=00:00:13.96 bitrate=1204.5kbits/s    
frame=  415 fps= 35 q=28.0 size=    2115kB time=00:00:14.64 bitrate=1183.4kbits/s    
frame=  434 fps= 35 q=28.0 size=    2165kB time=00:00:15.40 bitrate=1151.4kbits/s    
frame=  454 fps= 35 q=28.0 size=    2220kB time=00:00:16.20 bitrate=1122.8kbits/s    
frame=  470 fps= 35 q=28.0 size=    2279kB time=00:00:16.84 bitrate=1108.5kbits/s    
frame=  489 fps= 35 q=28.0 size=    2350kB time=00:00:17.60 bitrate=1093.9kbits/s    
frame=  505 fps= 35 q=28.0 size=    2410kB time=00:00:18.24 bitrate=1082.5kbits/s    
frame=  515 fps= 34 q=28.0 size=    2534kB time=00:00:18.64 bitrate=1113.5kbits/s    
frame=  531 fps= 34 q=28.0 size=    2668kB time=00:00:19.28 bitrate=1133.8kbits/s    
frame=  547 fps= 34 q=28.0 size=    2782kB time=00:00:19.92 bitrate=1144.2kbits/s    
frame=  565 fps= 34 q=28.0 size=    2925kB time=00:00:20.64 bitrate=1160.9kbits/s    
frame=  581 fps= 34 q=28.0 size=    3043kB time=00:00:21.28 bitrate=1171.3kbits/s    
frame=  595 fps= 34 q=28.0 size=    3136kB time=00:00:21.84 bitrate=1176.1kbits/s    
frame=  611 fps= 34 q=28.0 size=    3240kB time=00:00:22.48 bitrate=1180.5kbits/s    
frame=  630 fps= 34 q=28.0 size=    3351kB time=00:00:23.24 bitrate=1181.2kbits/s    
frame=  651 fps= 34 q=28.0 size=    3451kB time=00:00:24.08 bitrate=1174.1kbits/s    
frame=  675 fps= 34 q=28.0 size=    3528kB time=00:00:25.04 bitrate=1154.2kbits/s    
frame=  700 fps= 35 q=28.0 size=    3612kB time=00:00:26.04 bitrate=1136.2kbits/s    
frame=  724 fps= 35 q=28.0 size=    3701kB time=00:00:27.00 bitrate=1122.9kbits/s    
frame=  747 fps= 35 q=28.0 size=    3808kB time=00:00:27.92 bitrate=1117.4kbits/s    
frame=  768 fps= 35 q=28.0 size=    3884kB time=00:00:28.76 bitrate=1106.4kbits/s    
frame=  799 fps= 36 q=28.0 size=    3983kB time=00:00:30.00 bitrate=1087.6kbits/s    
frame=  834 fps= 36 q=28.0 size=    4052kB time=00:00:31.40 bitrate=1057.1kbits/s    
frame=  868 fps= 37 q=28.0 size=    4097kB time=00:00:32.76 bitrate=1024.5kbits/s    
frame=  894 fps= 37 q=28.0 size=    4141kB time=00:00:33.80 bitrate=1003.6kbits/s    
frame=  914 fps= 37 q=28.0 size=    4234kB time=00:00:34.60 bitrate=1002.5kbits/s    
frame=  933 fps= 37 q=28.0 size=    4363kB time=00:00:35.36 bitrate=1010.8kbits/s    
frame=  954 fps= 37 q=28.0 size=    4442kB time=00:00:36.20 bitrate=1005.3kbits/s    
frame=  976 fps= 37 q=28.0 size=    4510kB time=00:00:37.08 bitrate= 996.3kbits/s    
frame=  994 fps= 37 q=28.0 size=    4579kB time=00:00:37.80 bitrate= 992.3kbits/s    
frame= 1010 fps= 37 q=28.0 size=    4663kB time=00:00:38.44 bitrate= 993.7kbits/s    
frame= 1030 fps= 37 q=28.0 size=    4734kB time=00:00:39.24 bitrate= 988.3kbits/s    
frame= 1043 fps= 37 q=28.0 size=    4843kB time=00:00:39.76 bitrate= 997.9kbits/s    
frame= 1065 fps= 37 q=28.0 size=    5021kB time=00:00:40.64 bitrate=1012.1kbits/s    
frame= 1092 fps= 38 q=28.0 size=    5052kB time=00:00:41.72 bitrate= 991.9kbits/s    
frame= 1118 fps= 38 q=28.0 size=    5129kB time=00:00:42.76 bitrate= 982.6kbits/s    
frame= 1145 fps= 38 q=28.0 size=    5185kB time=00:00:43.84 bitrate= 968.8kbits/s    
frame= 1174 fps= 38 q=28.0 size=    5214kB time=00:00:45.00 bitrate= 949.1kbits/s    
frame= 1202 fps= 39 q=28.0 size=    5256kB time=00:00:46.12 bitrate= 933.7kbits/s    
frame= 1220 fps= 39 q=28.0 size=    5341kB time=00:00:46.84 bitrate= 934.1kbits/s    
frame= 1236 fps= 38 q=28.0 size=    5432kB time=00:00:47.48 bitrate= 937.2kbits/s    
[h264 @ 0x2d68ca0] A non-intra slice in an IDR NAL unit.
[h264 @ 0x2d68ca0] decode_slice_header error
frame= 1252 fps= 38 q=28.0 size=    5552kB time=00:00:48.12 bitrate= 945.2kbits/s    
frame= 1269 fps= 38 q=28.0 size=    5666kB time=00:00:48.80 bitrate= 951.2kbits/s    
frame= 1286 fps= 38 q=28.0 size=    5773kB time=00:00:49.48 bitrate= 955.7kbits/s    
frame= 1302 fps= 38 q=28.0 size=    5908kB time=00:00:50.12 bitrate= 965.7kbits/s    
frame= 1324 fps= 38 q=28.0 size=    6011kB time=00:00:51.00 bitrate= 965.6kbits/s    
frame= 1349 fps= 38 q=28.0 size=    6103kB time=00:00:52.00 bitrate= 961.4kbits/s    
frame= 1373 fps= 38 q=28.0 size=    6200kB time=00:00:52.96 bitrate= 959.1kbits/s    
frame= 1399 fps= 39 q=28.0 size=    6284kB time=00:00:54.00 bitrate= 953.3kbits/s    
frame= 1424 fps= 39 q=28.0 size=    6388kB time=00:00:55.00 bitrate= 951.5kbits/s    
frame= 1447 fps= 39 q=28.0 size=    6492kB time=00:00:55.92 bitrate= 951.1kbits/s    
frame= 1476 fps= 39 q=28.0 size=    6530kB time=00:00:57.08 bitrate= 937.2kbits/s    
frame= 1503 fps= 39 q=28.0 size=    6580kB time=00:00:58.16 bitrate= 926.8kbits/s    
frame= 1518 fps= 39 q=28.0 size=    6709kB time=00:00:58.76 bitrate= 935.4kbits/s    
frame= 1542 fps= 39 q=28.0 size=    6835kB time=00:00:59.72 bitrate= 937.6kbits/s    
[h264 @ 0x3348440] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x3348440] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
frame= 1568 fps= 39 q=28.0 size=    6958kB time=00:01:00.76 bitrate= 938.1kbits/s    
frame= 1596 fps= 39 q=28.0 size=    7006kB time=00:01:01.88 bitrate= 927.5kbits/s    
frame= 1619 fps= 39 q=28.0 size=    7096kB time=00:01:02.80 bitrate= 925.6kbits/s    
frame= 1646 fps= 40 q=28.0 size=    7152kB time=00:01:03.88 bitrate= 917.2kbits/s    
frame= 1671 fps= 40 q=28.0 size=    7205kB time=00:01:04.88 bitrate= 909.8kbits/s    
frame= 1698 fps= 40 q=28.0 size=    7268kB time=00:01:05.96 bitrate= 902.7kbits/s    
frame= 1725 fps= 40 q=28.0 size=    7328kB time=00:01:07.04 bitrate= 895.5kbits/s    
frame= 1752 fps= 40 q=28.0 size=    7382kB time=00:01:08.12 bitrate= 887.7kbits/s    
frame= 1779 fps= 40 q=28.0 size=    7433kB time=00:01:09.20 bitrate= 879.9kbits/s    
frame= 1803 fps= 40 q=28.0 size=    7580kB time=00:01:10.16 bitrate= 885.1kbits/s    
frame= 1827 fps= 41 q=28.0 size=    7643kB time=00:01:11.12 bitrate= 880.4kbits/s    
frame= 1852 fps= 41 q=28.0 size=    7703kB time=00:01:12.12 bitrate= 875.0kbits/s    
frame= 1879 fps= 41 q=28.0 size=    7751kB time=00:01:13.20 bitrate= 867.4kbits/s    
frame= 1899 fps= 41 q=28.0 size=    7840kB time=00:01:14.00 bitrate= 867.9kbits/s    
frame= 1918 fps= 41 q=28.0 size=    7946kB time=00:01:14.76 bitrate= 870.7kbits/s    
frame= 1938 fps= 41 q=28.0 size=    8046kB time=00:01:15.56 bitrate= 872.3kbits/s    
frame= 1959 fps= 41 q=28.0 size=    8134kB time=00:01:16.40 bitrate= 872.1kbits/s    
frame= 1978 fps= 41 q=28.0 size=    8227kB time=00:01:17.16 bitrate= 873.5kbits/s    
frame= 1997 fps= 41 q=28.0 size=    8322kB time=00:01:17.92 bitrate= 874.9kbits/s    
frame= 2022 fps= 41 q=28.0 size=    8390kB time=00:01:18.92 bitrate= 870.9kbits/s    
[h264 @ 0x2d64180] concealing 1320 DC, 1320 AC, 1320 MV errors in I frame
[mp4 @ 0x2cdb900] Starting second pass: moving the moov atom to the beginning of the file
frame= 2041 fps= 40 q=-1.0 Lsize=    8657kB time=00:01:21.56 bitrate= 869.5kbits/s    
video:8633kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.275387%
[libx264 @ 0x2d99e00] frame I:9     Avg QP:18.32  size: 48212
[libx264 @ 0x2d99e00] frame P:698   Avg QP:22.05  size:  9056
[libx264 @ 0x2d99e00] frame B:1334  Avg QP:27.18  size:  1562
[libx264 @ 0x2d99e00] consecutive B-frames: 10.6%  5.0%  5.4% 79.0%
[libx264 @ 0x2d99e00] mb I  I16..4: 18.4% 57.3% 24.2%
[libx264 @ 0x2d99e00] mb P  I16..4:  5.3%  8.2%  1.0%  P16..4: 26.3%  9.1%  4.0%  0.0%  0.0%    skip:46.0%
[libx264 @ 0x2d99e00] mb B  I16..4:  0.2%  0.1%  0.0%  B16..8: 20.6%  1.8%  0.3%  direct: 0.8%  skip:76.2%  L0:38.8% L1:57.6% BI: 3.6%
[libx264 @ 0x2d99e00] 8x8 transform intra:56.1% inter:75.9%
[libx264 @ 0x2d99e00] coded y,uvDC,uvAC intra: 35.0% 44.9% 12.4% inter: 6.5% 8.1% 0.2%
[libx264 @ 0x2d99e00] i16 v,h,dc,p: 34% 40%  3% 22%
[libx264 @ 0x2d99e00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 26% 16%  3%  4%  4%  5%  4%  4%
[libx264 @ 0x2d99e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 41% 10%  2%  4%  4%  5%  3%  3%
[libx264 @ 0x2d99e00] i8c dc,h,v,p: 47% 24% 24%  5%
[libx264 @ 0x2d99e00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x2d99e00] ref P L0: 72.8% 10.0% 13.7%  3.5%
[libx264 @ 0x2d99e00] ref B L0: 90.8%  7.9%  1.2%
[libx264 @ 0x2d99e00] ref B L1: 96.5%  3.5%
[libx264 @ 0x2d99e00] kb/s:866.17

5 个答案:

答案 0 :(得分:14)

从dav到mp4使用ffmpeg

ffmpeg -y -i input-file.dav -vcodec libx264 -crf 24 -filter:v "setpts=1*PTS" output-file.mp4

我用于安全摄像头并增加setpt=3*PTS参数,你可以更慢地进行视频。

Reference to solution here

答案 1 :(得分:3)

ffmpeg不支持DAV(尚未),如ffmpeg -formats所示。

它似乎工作一段时间的原因是因为DAVH.264/AVC的中文修改版本。 ffmpeg尝试猜测您的输入格式,并确定其标准H.264解码器为最佳匹配。

由于DAV具有供应商特定的修改,解码显然在某些时候失败。格式也是专有的。

您可以通过运行以下命令来查看:

ffprobe -i input.dav -v debug

结果是:

[h264 @ 0x264ec00] Format h264 probed with size=2048 and score=51

得分仅为51/100

答案 2 :(得分:1)

我已经完成了上述过程并且非常成功,唯一的限制是批量执行多个文件的操作。 所以,我想出了以下解决方案。

  1. 首先安装ffmpeg

sudo apt install ffmpeg

  1. 将以下内容另存为 convert.py 然后
import subprocess
from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(".") if isfile(join(".", f))]

c=1
for i in onlyfiles:
    
    c=c+1
    list_dir = subprocess.Popen(["ffmpeg", "-y","-i",i,"-c:v","libx264","-crf","24",i[:-4]+".mp4"])
    list_dir.wait()
  1. 运行代码 python convert.py

答案 3 :(得分:0)

for %%i in (*.dav) do (
  ffmpeg -i "%%i" -c:v libx264 "%%~i.mp4"
)
done

尝试批量对话。 我使用了另一个版本来转换图像& mp3播放视频。 您可能需要调整它以满足您的需求。

答案 4 :(得分:0)

我花了几个小时尝试用ffmpeg进行失败的尝试。

问题:较低的fps,处理因no frame错误而停止。似乎相机以ffmpeg无法理解的方式合并视频流。

根据我的研究,.DAVDahua公司的一种封闭格式。

Smart Player可以将视频导出到AVI,并且对我有用。但这是Windows软件。