Saya mencoba mengonversi JPEG ke MP4 menggunakan ffmpeg. Saya memiliki proses yang berfungsi untuk PNG jadi saya tahu saya menuju jalur yang benar. Dengan ketika ffmpeg selesai memproses JPEG, MP4 yang dihasilkan dapat diputar di smplayer (OpenSuse) menghasilkan tetapi omxplayer (Raspberry Pi) tidak seperti yang diharapkan. Tampaknya memainkan beberapa frame pertama dengan benar, mereka berkedip di layar hampir terlalu cepat untuk dilihat, kemudian memainkan berbagai warna, terutama nuansa hijau, sebagai gambar statis.
Saya sudah mencoba mengonversi JPEG ke PNG sebelum mendorongnya melalui ffmpeg tetapi anehnya itu tidak berhasil. Dugaan saya adalah ada saklar / opsi yang saya butuhkan sehingga ffmpeg akan membangun mp4 dengan format yang memungkinkan omxplayer untuk memutar mp4 dengan benar.
Bagian dalam skrip adalah ...
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
Apa yang saya dapatkan sebagai output
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
.