我正在将一堆文件从 .dv 格式转码为 .mov
我已经对其中许多进行了转码,但现在 ffmpeg 一直挂起。有一次,它转码长达 2 分 06 秒(总共 2 分 44 秒),然后停止。在转码时,它使用两个 CPU 内核(175%),但当它挂起时,它只使用一个内核(99%)。
以下是一次运行的输出:
$ /usr/local/bin/ffmpeg -i '/Volumes/Qmultimedia/iMovie Events.localized/Essen/clip-2006-02-11 20;43;56.dv' -vcodec libx264 -crf 21 -acodec aac -ac 2 -ab 192000 -strict experimental -vpre hq -vpre veryfast -refs 3 -deinterlace -threads 2 '/Users/mm/Desktop/videos/Essen/clip-2006-02-11 20;43;56.mov'
ffmpeg version 0.8.5, Copyright (c) 2000-2011 the FFmpeg developers
built on Dec 27 2011 14:25:30 with clang 2.1 (tags/Apple/clang-163.7.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/0.8.5 --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --cc=/usr/bin/clang --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid
libavutil 51. 9. 1 / 51. 9. 1
libavcodec 53. 7. 0 / 53. 7. 0
libavformat 53. 4. 0 / 53. 4. 0
libavdevice 53. 1. 1 / 53. 1. 1
libavfilter 2. 23. 0 / 2. 23. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0
[dv @ 0x7fbd41807c00] Estimating duration from bitrate, this may be inaccurate
Input #0, dv, from '/Volumes/Qmultimedia/iMovie Events.localized/Essen/clip-2006-02-11 20;43;56.dv':
Duration: 00:02:44.00, start: 0.000000, bitrate: 28800 kb/s
Stream #0.0: Video: dvvideo, yuv420p, 720x576, 28800 kb/s, PAR 16:15 DAR 4:3, 25 tbr, 25 tbn, 25 tbc
Stream #0.1: Audio: pcm_s16le, 32000 Hz, 2 channels, s16, 1024 kb/s
Stream #0.2: Audio: pcm_s16le, 32000 Hz, 2 channels, s16, 1024 kb/s
File '/Users/mm/Desktop/videos/Essen/clip-2006-02-11 20;43;56.mov' already exists. Overwrite ? [y/N] y
[buffer @ 0x7fbd41402e40] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:16/15 sws_param:
[libx264 @ 0x7fbd4181c600] using SAR=16/15
[libx264 @ 0x7fbd4181c600] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
[libx264 @ 0x7fbd4181c600] profile High, level 3.0
[libx264 @ 0x7fbd4181c600] 264 - core 116 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=2 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=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=21.0 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.41 pb_ratio=1.25 aq=1:1.00
Output #0, mov, to '/Users/mm/Desktop/videos/Essen/clip-2006-02-11 20;43;56.mov':
Metadata:
encoder : Lavf53.4.0
Stream #0.0: Video: libx264, yuv420p, 720x576 [PAR 16:15 DAR 4:3], q=10-51, 200 kb/s, 25 tbn, 25 tbc
Stream #0.1: Audio: libfaac, 32000 Hz, 2 channels, s16, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop, [?] for help
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=7080 bitrate=2397.9kbits/s
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=64
Last message repeated 1 times
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=71
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=69
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=64
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=65
Last message repeated 1 times
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=64
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=66
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=65
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=64
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=66
[dvvideo @ 0x7fbd41819c00] AC EOB marker is absent pos=64
frame= 3175 fps= 54 q=24.0 size= 28308kB time=00:02:06.56 bitrate=1832.3kbits/s
答案1
确保始终更新到最新的 FFmpeg 版本,在您的情况下是 0.9。
如果您使用 Homebrew 等包管理器安装了 FFmpeg,请不要忘记更新包本身:
brew update
brew upgrade ffmpeg
答案2
你可以从这里克隆它:git://source.ffmpeg.org/ffmpeg.git 这里有一些改进可能会改善你的转码工作量。可以在这里查看变更日志:http://git.videolan.org/?p=ffmpeg.git;a=log