Usé este comando para grabar dentro de mi video el código de tiempo.
Si bien todo se veía bien, cuando abro mi video dentro de Premiere, parece que mi código de tiempo no coincide.
Mi temor es que el código de tiempo procesado por ffmpeg fuera el original del archivo de entrada, pero cuando se volvió a comprimir a través de h264, la cantidad de cuadros cambió dando prioridad a los algoritmos de compresión h264.
¿Cómo puedo arreglarlo? O mejor, ¿cómo puedo tener un video de salida que coincida exactamente con la duración y los cuadros del archivo de entrada original?
Lamentablemente, mi archivo de entrada ya era una transmisión h264 mp4.
El comando que utilicé es el siguiente:
ffmpeg -i "file.mp4" -c:v libx264 -x264-params "crf=17" -preset fast -c:a copy -c:s copy -copyinkf -filter_complex "drawtext=fontfile=font.otf: timecode='00\:00\:00\:00':rate=24: text='': fontsize=56: fontcolor=white@0.9: borderw=3: bordercolor=black: x=50-text_w/2:y=50" "file2.mp4"
La salida completa de la consola es la siguiente:
ffmpeg version N-82500-g52da3f6 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.3 (GCC)
configuration: --arch=x86_64 --target-os=mingw32 --cross-prefix=/root/opt/ffmpeg-cross-compile/sandbox/cross_compilers/mingw-w64-x86_64/bin/x86_64-w64-mingw32- --pkg-config=pkg-config --disable-w32t
hreads --enable-libsoxr --enable-fontconfig --enable-libass --enable-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enable-libzvbi --enable-libcaca --enable-libmodpl
ug --extra-libs=-lstdc++ --extra-libs=-lpng --enable-decklink --extra-libs=-loleaut32 --enable-libmp3lame --enable-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora --enabl
e-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-libopus --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --ena
ble-libschroedinger --enable-libvpx --enable-libilbc --enable-libwavpack --enable-libwebp --enable-libgme --enable-dxva2 --enable-avisynth --enable-gray --enable-libopenh264 --enable-netcdf --enable-l
ibflite --enable-lzma --enable-libsnappy --enable-libzimg --enable-gpl --enable-libx264 --enable-libx265 --enable-frei0r --enable-filter=frei0r --enable-librubberband --enable-libvidstab --enable-libx
avs --enable-libxvid --enable-libmfx --extra-libs=-lpsapi --extra-libs=-lspeexdsp --extra-cflags='-mtune=core2' --extra-cflags=-O3 --enable-static --disable-shared --prefix=/root/opt/ffmpeg-cross-comp
ile/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --enable-nonfree --enable-libfdk-aac --enable-runtime-cpudetect
libavutil 55. 40.100 / 55. 40.100
libavcodec 57. 66.103 / 57. 66.103
libavformat 57. 57.100 / 57. 57.100
libavdevice 57. 2.100 / 57. 2.100
libavfilter 6. 67.100 / 6. 67.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file.mp4':
Metadata:
major_brand : iso5
minor_version : 512
compatible_brands: iso6mp41
Duration: 00:51:27.38, start: 0.000000, bitrate: 3246 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 2988 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
handler_name : SoundHandler
[libx264 @ 0000000003746020] using SAR=1/1
[libx264 @ 0000000003746020] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0000000003746020] profile High, level 4.0
[libx264 @ 0000000003746020] 264 - core 148 r2708 86b7198 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=
hex subme=6 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=12 lookahead_threads=2 sliced_threads=0 nr=0 dec
imate=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=1 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc_lookah
ead=30 rc=crf mbtree=1 crf=17.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'file2.mp4':
Metadata:
major_brand : iso5
minor_version : 512
compatible_brands: iso6mp41
encoder : Lavf57.57.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 24 fps, 12288 tbn, 24 tbc (default)
Metadata:
encoder : Lavc57.66.103 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1(und): Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 (h264) -> drawtext
drawtext -> Stream #0:0 (libx264)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 2105 fps= 36 q=-1.0 Lsize= 41555kB time=00:01:27.58 bitrate=3886.8kbits/s dup=2 drop=0 speed=1.49x
video:38775kB audio:2719kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.145290%
[libx264 @ 0000000003746020] frame I:11 Avg QP: 7.99 size: 70608
[libx264 @ 0000000003746020] frame P:761 Avg QP:13.37 size: 28331
[libx264 @ 0000000003746020] frame B:1333 Avg QP:14.85 size: 13030
[libx264 @ 0000000003746020] consecutive B-frames: 2.0% 40.1% 1.9% 56.1%
[libx264 @ 0000000003746020] mb I I16..4: 49.6% 36.9% 13.5%
[libx264 @ 0000000003746020] mb P I16..4: 9.6% 15.5% 2.1% P16..4: 20.5% 7.4% 3.1% 0.0% 0.0% skip:41.8%
[libx264 @ 0000000003746020] mb B I16..4: 2.5% 3.7% 0.4% B16..8: 17.6% 7.0% 0.8% direct: 7.7% skip:60.4% L0:50.5% L1:44.4% BI: 5.1%
[libx264 @ 0000000003746020] 8x8 transform intra:56.0% inter:56.8%
[libx264 @ 0000000003746020] coded y,uvDC,uvAC intra: 37.2% 61.9% 19.6% inter: 6.6% 19.9% 0.8%
[libx264 @ 0000000003746020] i16 v,h,dc,p: 51% 24% 14% 10%
[libx264 @ 0000000003746020] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 18% 29% 3% 3% 3% 2% 3% 3%
[libx264 @ 0000000003746020] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 39% 23% 15% 4% 4% 4% 3% 4% 3%
[libx264 @ 0000000003746020] i8c dc,h,v,p: 45% 18% 29% 7%
[libx264 @ 0000000003746020] Weighted P-Frames: Y:5.8% UV:3.0%
[libx264 @ 0000000003746020] ref P L0: 77.3% 22.7%
[libx264 @ 0000000003746020] ref B L0: 87.0% 13.0%
[libx264 @ 0000000003746020] ref B L1: 97.2% 2.8%
[libx264 @ 0000000003746020] kb/s:3621.54
Lo volví a ejecutar para obtener la salida y lo cerré después de unos segundos con la opción [q];)
EDITAR: se volvió a ejecutar manteniendo solo el video.
ffmpeg version N-82500-g52da3f6 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.3 (GCC)
configuration: --arch=x86_64 --target-os=mingw32 --cross-prefix=/root/opt/ffmpeg-cross-compile/sandbox/cross_compilers/mingw-w64-x86_64/bin/x86_64-w64-mingw32- --pkg-config=pkg-config --disable-w32t
hreads --enable-libsoxr --enable-fontconfig --enable-libass --enable-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enable-libzvbi --enable-libcaca --enable-libmodpl
ug --extra-libs=-lstdc++ --extra-libs=-lpng --enable-decklink --extra-libs=-loleaut32 --enable-libmp3lame --enable-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora --enabl
e-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-libopus --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --ena
ble-libschroedinger --enable-libvpx --enable-libilbc --enable-libwavpack --enable-libwebp --enable-libgme --enable-dxva2 --enable-avisynth --enable-gray --enable-libopenh264 --enable-netcdf --enable-l
ibflite --enable-lzma --enable-libsnappy --enable-libzimg --enable-gpl --enable-libx264 --enable-libx265 --enable-frei0r --enable-filter=frei0r --enable-librubberband --enable-libvidstab --enable-libx
avs --enable-libxvid --enable-libmfx --extra-libs=-lpsapi --extra-libs=-lspeexdsp --extra-cflags='-mtune=core2' --extra-cflags=-O3 --enable-static --disable-shared --prefix=/root/opt/ffmpeg-cross-comp
ile/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --enable-nonfree --enable-libfdk-aac --enable-runtime-cpudetect
libavutil 55. 40.100 / 55. 40.100
libavcodec 57. 66.103 / 57. 66.103
libavformat 57. 57.100 / 57. 57.100
libavdevice 57. 2.100 / 57. 2.100
libavfilter 6. 67.100 / 6. 67.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file.mp4':
Metadata:
major_brand : iso5
minor_version : 512
compatible_brands: iso6mp41
Duration: 00:51:27.38, start: 0.000000, bitrate: 3246 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 2988 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
handler_name : SoundHandler
[libx264 @ 000000000315f7c0] using SAR=1/1
[libx264 @ 000000000315f7c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 000000000315f7c0] profile High, level 4.0
[libx264 @ 000000000315f7c0] 264 - core 148 r2708 86b7198 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=
hex subme=6 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=12 lookahead_threads=2 sliced_threads=0 nr=0 dec
imate=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=1 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc_lookah
ead=30 rc=crf mbtree=1 crf=17.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'file2.mp4':
Metadata:
major_brand : iso5
minor_version : 512
compatible_brands: iso6mp41
encoder : Lavf57.57.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 24 fps, 12288 tbn, 24 tbc (default)
Metadata:
encoder : Lavc57.66.103 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
Stream #0:0 (h264) -> drawtext
drawtext -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
frame= 843 fps= 36 q=-1.0 Lsize= 10386kB time=00:00:35.00 bitrate=2430.9kbits/s dup=2 drop=0 speed= 1.5x
video:10375kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.103293%
[libx264 @ 000000000315f7c0] frame I:4 Avg QP: 5.49 size: 41664
[libx264 @ 000000000315f7c0] frame P:285 Avg QP:12.19 size: 19489
[libx264 @ 000000000315f7c0] frame B:554 Avg QP:13.02 size: 8849
[libx264 @ 000000000315f7c0] consecutive B-frames: 2.6% 28.7% 1.8% 66.9%
[libx264 @ 000000000315f7c0] mb I I16..4: 65.5% 27.6% 6.9%
[libx264 @ 000000000315f7c0] mb P I16..4: 9.0% 11.3% 1.3% P16..4: 15.5% 5.1% 2.2% 0.0% 0.0% skip:55.6%
[libx264 @ 000000000315f7c0] mb B I16..4: 2.4% 2.2% 0.1% B16..8: 11.6% 4.9% 0.6% direct: 7.1% skip:71.0% L0:50.3% L1:45.1% BI: 4.6%
[libx264 @ 000000000315f7c0] 8x8 transform intra:49.4% inter:53.5%
[libx264 @ 000000000315f7c0] coded y,uvDC,uvAC intra: 26.0% 54.6% 16.0% inter: 4.1% 16.1% 0.6%
[libx264 @ 000000000315f7c0] i16 v,h,dc,p: 52% 26% 14% 8%
[libx264 @ 000000000315f7c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 22% 38% 1% 1% 1% 2% 1% 2%
[libx264 @ 000000000315f7c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 38% 28% 20% 2% 3% 3% 3% 2% 2%
[libx264 @ 000000000315f7c0] i8c dc,h,v,p: 49% 19% 26% 7%
[libx264 @ 000000000315f7c0] Weighted P-Frames: Y:15.4% UV:8.1%
[libx264 @ 000000000315f7c0] ref P L0: 71.5% 28.5%
[libx264 @ 000000000315f7c0] ref B L0: 84.7% 15.3%
[libx264 @ 000000000315f7c0] ref B L1: 96.2% 3.8%
[libx264 @ 000000000315f7c0] kb/s:2419.57
Esta es la información de los medios que obtuve:
ID de video : 1
Formato: AVC
Formato/Info: Códec de video avanzado
Perfil de formato: Configuración de formato High@L4
, CABAC: Sí
Configuración de formato, ReFrames: 2 cuadros ID de
códec: avc1
ID/Info de códec: Codificación de video avanzada
Duración: 50s 0ms
Bit : 2 991 Kbps
Ancho : 1 920 píxeles
Altura : 1 080 píxeles
Relación de aspecto de la pantalla : 16:9
Modo de velocidad de fotogramas : Variable Velocidad de
fotogramas : 23 976 (23 976/1000) fps
Velocidad de fotogramas mínima : 12 000 fps
Velocidad de fotogramas máxima : 24 000 fps
Color espacio : YUV
Chroma submuestreo : 4:2:0
Profundidad de bits : 8 bits
Tipo de escaneo :
Bits progresivos/(Pixel*Frame) : 0.060
Tamaño de transmisión: 17,8 MiB (100 %)
Biblioteca de escritura: x264 core 148 r2708 86b7198
Configuración de codificación: cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=6 / 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 =12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / diezmar=1 / entrelazado=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=1 /weightb=1 / open_gop=0 / weightp=1 / keyint=250 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=crf / mbtree=1 / crf=17.0 / qcomp=0.60 / qpmin =0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Es posible que tenga medios de velocidad de fotogramas variable. La base de tiempo parece bastante loca para los medios estándar de 24p. Podría presionarlo con MediaInfo (tenga en cuenta que la GUI de Windows incluye adware, pero la versión CLI no) y publicar el resultado de eso.
ffmpeg
, usaría -r 24000/1001
para 23.976, y para Handbrake hay un menú desplegable y seleccionaría Velocidad de fotogramas constante.
gian
usuario3450548
gian
usuario3450548
gian
usuario3450548
usuario3450548
gian
-vsync 0
_usuario3450548
gian
usuario3450548
gian