Estoy tratando de convertir archivos JPEG a MP4 usando ffmpeg. Tengo el proceso trabajando para PNG, así que sé que voy por el camino correcto. Cuando ffmpeg termina de procesar un JPEG, el MP4 resultante se puede reproducir en smplayer (OpenSuse) produce pero omxplayer (Raspberry Pi) no es lo que se espera. Parece que los primeros cuadros se reproducen correctamente, parpadean en la pantalla casi demasiado rápido para verlos, luego se reproducen varios colores, predominantemente tonos de verde, como una imagen estática.
Ya he intentado convertir el JPEG a PNG antes de pasarlo a través de ffmpeg, pero curiosamente eso no funcionó. Supongo que hay un interruptor / opción que necesito para que ffmpeg compile el mp4 con un formato que permita a omxplayer reproducir el mp4 correctamente.
La sección en el guión es ...
set -x
echo "Source image: ${SOURCE_IMAGE}" >&2
ffmpeg -loop 1 -pattern_type glob -i "/tmp/${LN_PREFIX}.fade-*.$$.${SOURCE_EXTENSION}" -c:v libx264 ${IMPORT_FORMAT} -t ${DISPLAY_SECONDS} -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -r ${FPS} /tmp/slide.$$.mp4 # 1>/dev/null 2>&1
set +x
Lo que estoy obteniendo como salida es
Source image: public/user_files/campaigns/5/DSC_0011.JPG
Creating the full length mp4 public/user_files/campaigns/5/DSC_0011.JPG-seconds_15-fade_1.mp4
+ ffmpeg -loop 1 -pattern_type glob -i '/tmp/DSC_0011.JPG.fade-*.2367.JPG' -c:v libx264 -t 15 -vf 'scale=trunc(iw/2)*2:trunc(ih/2)*2' -r 25 /tmp/slide.2367.mp4
ffmpeg version N-79177-ga677121 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
configuration: --prefix=/usr/local/bin --pkg-config-flags=--static --extra-cflags=-I/home/mike/ffmpeg_build/include --extra-ldflags=-L/home/mike/ffmpeg_build/lib --bindir=/usr/local/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 32.100 / 57. 32.100
libavformat 57. 29.101 / 57. 29.101
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 40.102 / 6. 40.102
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, image2, from '/tmp/DSC_0011.JPG.fade-*.2367.JPG':
Duration: 00:00:00.08, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 2048x1536, 25 fps, 25 tbr, 25 tbn, 25 tbc
No pixel format specified, yuvj420p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x2f82e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 FMA3 LZCNT BMI1
[libx264 @ 0x2f82e00] profile High, level 5.0
[libx264 @ 0x2f82e00] 264 - core 142 r2389 956c8d8 - 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=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 '/tmp/slide.2367.mp4':
Metadata:
encoder : Lavf57.29.101
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj420p(pc), 2048x1536, q=-1--1, 25 fps, 12800 tbn, 25 tbc
Metadata:
encoder : Lavc57.32.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 19 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 37 fps= 35 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 50 fps= 32 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 62 fps= 30 q=28.0 size= 507kB time=00:00:00.40 bitrate=10386.6kbits/s speed=0.191x
frame= 75 fps= 29 q=28.0 size= 511kB time=00:00:00.92 bitrate=4546.7kbits/s speed=0.353x
frame= 89 fps= 29 q=28.0 size= 513kB time=00:00:01.48 bitrate=2841.8kbits/s speed=0.475x
frame= 104 fps= 29 q=28.0 size= 516kB time=00:00:02.08 bitrate=2032.3kbits/s speed=0.571x
frame= 118 fps= 28 q=28.0 size= 518kB time=00:00:02.64 bitrate=1607.9kbits/s speed=0.63x
frame= 133 fps= 28 q=28.0 size= 521kB time=00:00:03.24 bitrate=1316.6kbits/s speed=0.684x
frame= 148 fps= 28 q=28.0 size= 523kB time=00:00:03.84 bitrate=1116.3kbits/s speed=0.729x
frame= 162 fps= 28 q=28.0 size= 525kB time=00:00:04.40 bitrate= 978.3kbits/s speed=0.762x
frame= 175 fps= 28 q=28.0 size= 528kB time=00:00:04.92 bitrate= 878.3kbits/s speed=0.783x
frame= 190 fps= 28 q=28.0 size= 530kB time=00:00:05.52 bitrate= 786.6kbits/s speed=0.808x
frame= 205 fps= 28 q=28.0 size= 533kB time=00:00:06.12 bitrate= 712.9kbits/s speed=0.832x
frame= 219 fps= 28 q=28.0 size= 535kB time=00:00:06.68 bitrate= 655.8kbits/s speed=0.848x
frame= 234 fps= 28 q=28.0 size= 537kB time=00:00:07.28 bitrate= 604.6kbits/s speed=0.867x
frame= 248 fps= 28 q=28.0 size= 540kB time=00:00:07.84 bitrate= 564.0kbits/s speed=0.879x
frame= 263 fps= 28 q=28.0 size= 542kB time=00:00:08.44 bitrate= 526.1kbits/s speed=0.892x
frame= 278 fps= 28 q=28.0 size= 545kB time=00:00:09.04 bitrate= 493.5kbits/s speed=0.906x
frame= 291 fps= 28 q=28.0 size= 547kB time=00:00:09.56 bitrate= 468.4kbits/s speed=0.911x
frame= 302 fps= 27 q=28.0 size= 1190kB time=00:00:10.00 bitrate= 975.0kbits/s speed=0.908x
frame= 317 fps= 27 q=28.0 size= 1192kB time=00:00:10.60 bitrate= 921.2kbits/s speed=0.919x
frame= 332 fps= 27 q=28.0 size= 1194kB time=00:00:11.20 bitrate= 873.1kbits/s speed=0.927x
frame= 348 fps= 28 q=28.0 size= 1196kB time=00:00:11.84 bitrate= 827.2kbits/s speed=0.94x
frame= 363 fps= 28 q=28.0 size= 1197kB time=00:00:12.44 bitrate= 788.4kbits/s speed=0.948x
frame= 375 fps= 26 q=-1.0 Lsize= 1209kB time=00:00:14.92 bitrate= 663.9kbits/s speed=1.02x
video:1204kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.433904%
[libx264 @ 0x2f82e00] frame I:2 Avg QP:17.15 size:583658
[libx264 @ 0x2f82e00] frame P:94 Avg QP:18.65 size: 376
[libx264 @ 0x2f82e00] frame B:279 Avg QP:30.33 size: 105
[libx264 @ 0x2f82e00] consecutive B-frames: 0.8% 0.0% 0.0% 99.2%
[libx264 @ 0x2f82e00] mb I I16..4: 0.5% 87.2% 12.3%
[libx264 @ 0x2f82e00] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 1.4% 0.0% 0.0% 0.0% 0.0% skip:98.6%
[libx264 @ 0x2f82e00] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.1% 0.0% 0.0% direct: 0.0% skip:99.9% L0:25.6% L1:74.4% BI: 0.0%
[libx264 @ 0x2f82e00] 8x8 transform intra:87.2% inter:95.2%
[libx264 @ 0x2f82e00] coded y,uvDC,uvAC intra: 99.4% 99.1% 95.1% inter: 0.0% 0.3% 0.0%
[libx264 @ 0x2f82e00] i16 v,h,dc,p: 4% 2% 9% 84%
[libx264 @ 0x2f82e00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 21% 10% 6% 8% 8% 9% 9% 14%
[libx264 @ 0x2f82e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 20% 8% 7% 10% 9% 11% 8% 11%
[libx264 @ 0x2f82e00] i8c dc,h,v,p: 39% 36% 10% 15%
[libx264 @ 0x2f82e00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x2f82e00] ref P L0: 92.8% 0.0% 6.2% 1.0%
[libx264 @ 0x2f82e00] ref B L0: 96.3% 3.6% 0.1%
[libx264 @ 0x2f82e00] ref B L1: 99.3% 0.7%
[libx264 @ 0x2f82e00] kb/s:657.11
+ set +x
-pixfmt yuv420p
.