0 voto negativo favorito Estoy fusionando una imagen con un video, mi comando se ve así:
ffmpeg -i background.mpg -i Menu.png -filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,30)'" -pix_fmt yuv420p -c:a copy merge1.mpg
Eso funciona, pero algo extraño sucede.
Si ejecuto ese video fusionado, pierde calidad continuamente en cada segundo, en los primeros segundos la calidad está bien, pero luego pierde calidad (la resolución empeora).
¿Alguna idea de cómo está sucediendo esto y tal vez soluciones?
Editar:
Especifiqué una tasa de bits como Mulvya me sugiere que haga:
El comando se ve así ahora:
ffmpeg -i background.mpg -i Menu.png -filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,30)'" -pix_fmt yuv420p -b:v 2000k -c:a copy merge1.mpg
Salida de consola:
ffmpeg version 2.8.4 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 5.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfr
eetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enab
le-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink
--enable-zlib
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
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mpeg, from 'C:\xampp\htdocs\myApp\storage\generator\projects\dvdrom\Ged\Menus\background.mpg':
Duration: 00:00:30.00, start: 0.540000, bitrate: 1792 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], max. 1800 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Input #1, png_pipe, from 'C:\xampp\htdocs\myApp\storage\generator\projects\dvdrom\Ged\Menus\imageSel.png':
Duration: N/A, bitrate: N/A
Stream #1:0: Video: png, rgba(pc), 720x480 [SAR 2835:2835 DAR 3:2], 25 tbr, 25 tbn, 25 tbc
File 'C:\xampp\htdocs\myApp\storage\generator\projects\dvdrom\Ged\Menus\image1.mpg' already exists. Overwrite ? [y/N] y
[mpeg @ 04dca7e0] VBV buffer size not set, using default size of 130KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size
Output #0, mpeg, to 'C:\xampp\htdocs\myApp\storage\generator\projects\dvdrom\Ged\Menus\image1.mpg':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: mpeg1video, yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 2000 kb/s, 25 fps, 90k tbn, 25 tbc (default)
Metadata:
encoder : Lavc56.60.100 mpeg1video
Stream mapping:
Stream #0:0 (mpeg2video) -> overlay:main
Stream #1:0 (png) -> overlay:overlay
overlay -> Stream #0:0 (mpeg1video)
Press [q] to stop, [?] for help
frame= 750 fps=443 q=2.0 Lsize= 5650kB time=00:00:29.96 bitrate=1544.9kbits/s
video:5624kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.468742%
Parece que está buscando una salida con especificaciones de DVD. De manera predeterminada, FFmpeg codifica video MPEG-1 en un flujo de programa MPEG-1, cuando la extensión de salida es .mpg
. Puede forzar MPEG-2 DVD especificando -f dvd
. Y para un estándar como PAL, configure-target pal-dvd
Intentar
ffmpeg -i background.mpg -i Menu.png -filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,30)'" -pix_fmt yuv420p -target pal-dvd -f dvd merge1.mpg
-target
opción. ffmpeg establecerá automáticamente la salida en CRF 23.
gian
-b:v 2000k
utdev
gian
gian
-c:v mpeg2video -bufsize 2000k
utdev
utdev
gian
utdev
gian
ffmpeg -i background.mpg -i Menu.png -filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,30)'" -pix_fmt yuv420p -target pal-dvd -f dvd merge1.mpg
utdev