210
« kdy: 27. 04. 2017, 16:08:37 »
Vyzkouseno bylo velm mnoho kombinaci, nez jsm dosel k reseni.
Ruzne prejmenovani obrazku, pridani, odebrani casti nazvu a pod. Take byl ruzne zkousen format seznamu, list souboru, file "file" i file 'file'. Zkouseny byly ruzne formaty videa. I byl zkousen convert prez concat i linkovani prmo seznamu obrazku. Zkouseny ruzne datasety.
Pokud se dobre napsali parametru v poradi, vytvareni videa se rozbehlo, casto to ale zkoncilo chybou kvuli poradu parametru. Ale video se vzdy vytvorilo neuplne, po 7-30% poctu obrazku zkoncilo z neznameho duvodu. Kolik obrazku bylo zpracovano, to zavisi jen, jakse soubory v seznamu jmenuji. Jen cislo.png (nejdo po 1), IM_cislo.png IM_Cislo_dalsinazev.png, pokazde byl pocet zpracovanych obrazku jiny.
zkousel jsem to prez pipe,
cat *.png | ffmpeg -f image2pipe -i
ale tam to hned skoncilo chybou Argument List too long. (obrazku je cca 60 000), podle vseho nesmi byt argument list (pocet znaku) vetsi nez 1 MB, nebo 2na20.
Reseni, kdy mi to vzalo vsechny obrazku, je tzv. Glob pattern *:
ffmpeg -framerate 30 -pattern_type glob -i '*.png' -c:v h264 -s 2000x1000 -x264-params crf=0 OutputFile.mkv
Pravda, nepodarilo se mi tam zadat format yuv420p, misto toho je tam deafultne yuv444p. Zabralo to RAM: VIRT 3173 M RES 1,1 G a cpu to zabralo k 1000% (kolisa 800-1100%), tedy10 vlaken z 16 soucasne. Rychlost 36fps, tedy 1,2 nasobek rychlosti prehravani. Velikost videa 5689 M a cas videa 00:34:24,57, 30 fps, 2000x1000. Obrazky byly prejmenovany na cislo.png, kde cisla jsou vzdy 9-mistna, jako seq -w (000000001.png a pod), zmena cisla nejdou po 1, ale se stejnym krokem. Abecedni seznam je totozny se seznamem datumu-modifikace.
TAK SNAD VYRESNO.
Otazkou je, zdali to vzalo obrazky v poradi spravnem. Jak obrazky prejmenovat na Obr000001.png, Obr000002.png Obr000003.png, to se zatim nepodarilo.
Vysledne hlaseni:
ffmpeg version 3.1.3-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.4.1 (Debian 5.4.1-1) 20160803
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --enable-librtmp --enable-libmfx --enable-libzimg --cc=gcc-5
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 48.101 / 57. 48.101
libavformat 57. 41.100 / 57. 41.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 47.100 / 6. 47.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, image2, from '*.png':
Duration: 00:34:24.57, start: 0.000000, bitrate: N/A
Stream #0:0: Video: png, pal8(pc), 2000x1000 [SAR 72:72 DAR 2:1], 30 fps, 30 tbr, 30 tbn, 30 tbc
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x558e4e0] using SAR=1/1
[libx264 @ 0x558e4e0] using cpu capabilities: MMX2 SSE2Fast LZCNT
[libx264 @ 0x558e4e0] profile High 4:4:4 Predictive, level 4.0, 4:4:4 8-bit
[libx264 @ 0x558e4e0] 264 - core 148 r276 3f5ed56 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
[matroska @ 0x5546d40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, matroska, to 'OutputFile.mkv':
Metadata:
encoder : Lavf57.41.100
Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv444p, 2000x1000 [SAR 1:1 DAR 2:1], q=-1--1, 30 fps, 1k tbn, 30 tbc
Metadata:
encoder : Lavc57.48.101 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
Stream #0:0 -> #0:0 (png (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame=61937 fps= 36 q=-1.0 Lsize= 5825753kB time=00:34:24.53 bitrate=23116.4kbits/s speed= 1.2x
video:5825243kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.008758%
[libx264 @ 0x558e4e0] frame I:248 Avg QP: 0.00 size:262235
[libx264 @ 0x558e4e0] frame P:61689 Avg QP: 0.00 size: 95641
[libx264 @ 0x558e4e0] mb I I16..4: 95.3% 0.0% 4.7%
[libx264 @ 0x558e4e0] mb P I16..4: 4.9% 0.0% 0.0% P16..4: 29.0% 8.8% 10.6% 0.0% 0.0% skip:46.8%
[libx264 @ 0x558e4e0] 8x8 transform intra:0.0% inter:31.7%
[libx264 @ 0x558e4e0] coded y,u,v intra: 50.6% 50.4% 48.3% inter: 32.3% 31.8% 31.7%
[libx264 @ 0x558e4e0] i16 v,h,dc,p: 33% 67% 0% 0%
[libx264 @ 0x558e4e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 40% 11% 1% 1% 1% 1% 1% 3%
[libx264 @ 0x558e4e0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x558e4e0] ref P L0: 63.5% 0.0% 23.5% 13.0%
[libx264 @ 0x558e4e0] kb/s:23113.99