我有一段很长的视频,我希望加速延时。在FFmpeg wiki之后,我提出了这个咒语:
ffmpeg -i IMG_0238.MOV -r 60 -ss 00:04:41 -filter:v "setpts=PTS/60.0" -an output.mp4
它应该剪掉前几分钟,然后以60倍的速度创建一个新的60fps视频文件。
虽然它将我的所有CPU核心旋转到100%,但状态栏只显示frame= 0 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
并且永远不会进展。
问题似乎与-ss 00:04:41
标志有关,该标志指定开始时间;我想放弃前4分41秒的源视频。当我省略此选项时,视频转换成功。
完整日志如下。
ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 9.1.0 (clang-902.0.30)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb59b800000] stream 2, missing mandatory atoms, broken header
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb59b800000] stream 3, missing mandatory atoms, broken header
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IMG_0238.MOV':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2017-04-20T16:25:14.000000Z
com.apple.quicktime.location.ISO6709: +36.4610+025.3727+123.613/
com.apple.quicktime.make: Apple
com.apple.quicktime.model: iPhone 7
com.apple.quicktime.software: 10.3.1
com.apple.quicktime.creationdate: 2017-04-20T19:25:13+0300
Duration: 01:22:45.53, start: -0.000023, bitrate: 44171 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160, 44077 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)
Metadata:
rotate : 180
creation_time : 2017-04-20T16:25:14.000000Z
handler_name : Core Media Data Handler
encoder : H.264
Side data:
displaymatrix: rotation of -180.00 degrees
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 84 kb/s (default)
Metadata:
creation_time : 2017-04-20T16:25:14.000000Z
handler_name : Core Media Data Handler
Stream #0:2(und): Data: none (mebx / 0x7862656D) (default)
Metadata:
creation_time : 2017-04-20T16:25:14.000000Z
handler_name : Core Media Data Handler
Stream #0:3(und): Data: none (mebx / 0x7862656D) (default)
Metadata:
creation_time : 2017-04-20T16:25:14.000000Z
handler_name : Core Media Data Handler
File 'output.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x7fb59b82b800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x7fb59b82b800] profile High, level 5.2
[libx264 @ 0x7fb59b82b800] 264 - core 148 r2795 aaa9aa8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - 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=6 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:
major_brand : qt
minor_version : 0
compatible_brands: qt
com.apple.quicktime.creationdate: 2017-04-20T19:25:13+0300
com.apple.quicktime.location.ISO6709: +36.4610+025.3727+123.613/
com.apple.quicktime.make: Apple
com.apple.quicktime.model: iPhone 7
com.apple.quicktime.software: 10.3.1
encoder : Lavf57.83.100
Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 3840x2160, q=-1--1, 60 fps, 15360 tbn, 60 tbc (default)
Metadata:
encoder : Lavc57.107.100 libx264
creation_time : 2017-04-20T16:25:14.000000Z
handler_name : Core Media Data Handler
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
displaymatrix: rotation of -0.00 degrees
frame= 0 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
答案 0 :(得分:2)
使用
ffmpeg -ss 00:04:41 -i IMG_0238.MOV -r 60 -filter:v "setpts=PTS/60.0" -an output.mp4
作为输出选项的-ss
是丢弃输出,直到收到具有指定入点的帧为止。由于这可能需要一些时间,因此进度计数器似乎会“卡住”,但处理仍在进行中。在您的情况下,问题的进一步复杂性在于,由于您将时间戳折叠为1/60,ss
04:41
代表被丢弃的输入04:41 x 60
。增加进度延迟很多,但更重要的是,您的输出无法从您想要的位置开始。
通过使用-ss
作为输入选项,ffmpeg将丢弃输入的04:41
,然后处理其余的输入。进度计数器也将立即生效。