First of all, I've exhausted all my Google-fu to no avail... so any help is greatly appreciated!
I found a cool utility to upconvert anime images (if you're interested https://github.com/lltcggie/waifu2x-caffe) and so I'm reencoding my low quality anime using this. First I rip to an image sequence using a command like: .\ffmpeg.exe -i full-20s.mkv -f image2 "file\seq-%09d.png" I also get some metadata, such as framerate and stuff using ffprobe Then I do the upconvert of the image sequence, and then I put it back together .\ffmpeg.exe -y -i "full-20s.mkv" -framerate $framerate -f image2 -i "file\seq-%09d.png" -map 1:v -c copy -vcodec h264 -pix_fmt yuv420p -map 0 -map -0:v out.mkv This works beautifully for most files, but for some files this breaks in a weird way. The file will encode okay, and I can then play it, but I get no video. If I then seek to a random place, pause the video and then seek to near the beginning, it works perfectly. I've uploaded some example files here: https://drive.google.com/open?id=1qog43RZ8hPfQIjc6PbGi1Ii_ugeFNrQO (oddly, playing the bad "out.mkv" file from google drive works fine, but vlc and other media players it doesn't -_- ) I've already tried making a keyframe at the beginning with adding `-force_key_frames 0.0` to my command line, and making a video out of the image sequence (which then plays fine!!!) and adding it to the audio later. I've done a lot of research, and I'm at a loss. "full-20s.mkv" was taken using ./ffmpeg -i full-episode.mkv -t 20 -c copy -map 0 full-20s.mkv I then made out.mkv using the following 2 commands: D:\programmin\Projects\reencode> & .\ffmpeg.exe -i full-20s.mkv -f image2 ".\inp-full-20s.mkv\seq-%09d.png" ffmpeg version N-79690-g78baa45 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.3.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu ray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable- libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable- libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable -lzma --enable-decklink --enable-zlib libavutil 55. 23.100 / 55. 23.100 libavcodec 57. 38.100 / 57. 38.100 libavformat 57. 34.103 / 57. 34.103 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 44.100 / 6. 44.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 The tags at index 3 refer to a non-existent track 4. The tags at index 7 refer to a non-existent track 4. Input #0, matroska,webm, from 'D:\programmin\Projects\reencode\full-20s.mkv': Metadata: ENCODER : Lavf57.34.103 Duration: 00:00:20.12, start: 0.000000, bitrate: 640 kb/s Stream #0:0: Video: h264 (High), yuv420p, 848x480, SAR 1:1 DAR 53:30, 19.18 fps, 19.18 tbr, 1k tbn (default) Metadata: DURATION : 00:00:20.124000000 Stream #0:1(jpn): Audio: aac (HE-AAC), 48000 Hz, stereo, fltp (default) Metadata: DURATION : 00:00:20.010000000 Stream #0:2(eng): Subtitle: ass (default) Metadata: DURATION : 00:00:00.000000000 Stream #0:3: Attachment: ttf Metadata: filename : RotisWTF.ttf mimetype : application/x-truetype-font [image2 @ 00000000004ef9c0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Output #0, image2, to '.\inp-full-20s.mkv\seq-%09d.png': Metadata: encoder : Lavf57.34.103 Stream #0:0: Video: png, rgb24, 848x480 [SAR 1:1 DAR 53:30], q=2-31, 200 kb/s, 19.18 fps, 19.18 tbn (default) Metadata: DURATION : 00:00:20.124000000 encoder : Lavc57.38.100 png Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> png (native)) Press [q] to stop, [?] for help frame= 386 fps=150 q=-0.0 Lsize=N/A time=00:00:20.12 bitrate=N/A speed=7.83x video:209581kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown D:\programmin\Projects\reencode> .\ffmpeg.exe -y -framerate 28752/1499 -f image2 -i ".\inp-full-20s.mkv\seq-%09d.png" -i "full-20s.mkv" -map 0:v -map 1 -map -1:v -c copy -vcodec h264 -pix_fmt yuv420p out.mkv ffmpeg version N-79690-g78baa45 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.3.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu ray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable- libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable- libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable -lzma --enable-decklink --enable-zlib libavutil 55. 23.100 / 55. 23.100 libavcodec 57. 38.100 / 57. 38.100 libavformat 57. 34.103 / 57. 34.103 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 44.100 / 6. 44.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Input #0, image2, from '.\inp-full-20s.mkv\seq-%09d.png': Duration: 00:00:20.12, start: 0.000000, bitrate: N/A Stream #0:0: Video: png, rgb24(pc), 848x480 [SAR 1:1 DAR 53:30], 19.17 fps, 19.18 tbr, 19.18 tbn The tags at index 3 refer to a non-existent track 4. The tags at index 7 refer to a non-existent track 4. Input #1, matroska,webm, from 'full-20s.mkv': Metadata: ENCODER : Lavf57.34.103 Duration: 00:00:20.12, start: 0.000000, bitrate: 640 kb/s Stream #1:0: Video: h264 (High), yuv420p, 848x480, SAR 1:1 DAR 53:30, 19.18 fps, 19.18 tbr, 1k tbn (default) Metadata: DURATION : 00:00:20.124000000 Stream #1:1(jpn): Audio: aac (HE-AAC), 48000 Hz, stereo, fltp (default) Metadata: DURATION : 00:00:20.010000000 Stream #1:2(eng): Subtitle: ass (default) Metadata: DURATION : 00:00:00.000000000 Stream #1:3: Attachment: ttf Metadata: filename : RotisWTF.ttf mimetype : application/x-truetype-font [libx264 @ 00000000030f0480] using SAR=1/1 [libx264 @ 00000000030f0480] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2 [libx264 @ 00000000030f0480] profile High, level 3.0 [libx264 @ 00000000030f0480] 264 - core 148 r2694 3b70645 - 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=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=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=2 keyint=250 keyint_min=19 scenecut=40 intra_refresh=0 rc_lookah ead=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 [matroska @ 00000000031daa20] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 3 times Output #0, matroska, to 'out.mkv': Metadata: encoder : Lavf57.34.103 Stream #0:0: Video: h264 (H264 / 0x34363248), yuv420p, 848x480 [SAR 1:1 DAR 53:30], q=2-31, 19.18 fps, 1k tbn Metadata: encoder : Lavc57.38.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 Stream #0:1(jpn): Audio: aac (HE-AAC) ([255][0][0][0] / 0x00FF), 48000 Hz, stereo (default) Metadata: DURATION : 00:00:20.010000000 Stream #0:2(eng): Subtitle: ass (default) Metadata: DURATION : 00:00:00.000000000 Stream #0:3: Attachment: ttf Metadata: filename : RotisWTF.ttf mimetype : application/x-truetype-font Stream mapping: Stream #0:0 -> #0:0 (png (native) -> h264 (libx264)) Stream #1:1 -> #0:1 (copy) Stream #1:2 -> #0:2 (copy) Stream #1:3 -> #0:3 (copy) Press [q] to stop, [?] for help [image2 @ 00000000005b65a0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8) frame= 386 fps=143 q=-1.0 Lsize= 1978kB time=00:00:20.01 bitrate= 809.6kbits/s speed= 7.4x video:1814kB audio:99kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.401193% [libx264 @ 00000000030f0480] frame I:10 Avg QP:17.92 size: 11772 [libx264 @ 00000000030f0480] frame P:173 Avg QP:22.36 size: 8013 [libx264 @ 00000000030f0480] frame B:203 Avg QP:25.76 size: 1738 [libx264 @ 00000000030f0480] consecutive B-frames: 20.2% 25.4% 10.9% 43.5% [libx264 @ 00000000030f0480] mb I I16..4: 21.9% 60.3% 17.8% [libx264 @ 00000000030f0480] mb P I16..4: 3.3% 20.1% 3.5% P16..4: 27.4% 8.8% 3.8% 0.0% 0.0% skip:33.1% [libx264 @ 00000000030f0480] mb B I16..4: 1.2% 4.5% 0.3% B16..8: 15.3% 1.9% 0.5% direct: 5.1% skip:71.3% L0:40.9% L1:49.6% BI: 9.5% [libx264 @ 00000000030f0480] 8x8 transform intra:72.8% inter:68.9% [libx264 @ 00000000030f0480] coded y,uvDC,uvAC intra: 39.3% 51.0% 21.0% inter: 12.4% 16.4% 2.0% [libx264 @ 00000000030f0480] i16 v,h,dc,p: 45% 23% 12% 20% [libx264 @ 00000000030f0480] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 16% 22% 4% 5% 4% 5% 4% 5% [libx264 @ 00000000030f0480] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 16% 13% 7% 10% 8% 8% 7% 6% [libx264 @ 00000000030f0480] i8c dc,h,v,p: 60% 17% 16% 7% [libx264 @ 00000000030f0480] Weighted P-Frames: Y:13.9% UV:10.4% [libx264 @ 00000000030f0480] ref P L0: 73.0% 16.4% 8.2% 2.3% 0.1% [libx264 @ 00000000030f0480] ref B L0: 90.9% 7.6% 1.5% [libx264 @ 00000000030f0480] ref B L1: 97.8% 2.2% [libx264 @ 00000000030f0480] kb/s:738.12 you can seek to like 4 seconds in out.mkv and then get video, but starting from the beginning gets nothing. I'm not sure what's going on, this works with some mkv files, and not with others, also I was able to reencode and entire anime in mp4 format without problems like this. Any help would be appreciated! By the way, the entire powershell script if anyone is interested: https://gist.github.com/serialhex/18ff67b31f05e700d5456aac0e213e7f Thanks for your help -- Sent from: http://www.ffmpeg-archive.org/ _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
