Ricezione di strani errori in ffmpeg durante la ricerca, "POC localizzati non disponibili", "mmco: unref short failure"
Ho visto altre persone avere il problema ma non ho visto una soluzione. Se provo a cercare con ffmpeg ottengo degli errori e il video risultante si blocca in un fotogramma all'inizio prima di spostarsi. Anche se apro il video in VLC, non riesco a cercare il punto esatto in cui si verifica il problema. Sembra che il video sia danneggiato in qualche modo, ma funziona bene, può essere riparato?
Se cambio il formato del contenitore dell'input da ts a mp4, l'errore non si verifica ma al posto del frame congelato ho uno schermo nero.
Comando e output completi:
$ ffmpeg -ss 5.5 -i video.ts -to 10 -avoid_negative_ts make_zero -vcodec libx264 -crf 23 -acodec copy output.ts
ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
built with Apple LLVM version 10.0.1 (clang-1001.0.46.4)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.3_1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.2.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.2.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-videotoolbox --disable-libjack --disable-indev=jack --enable-libaom --enable-libsoxr
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
Input #0, mpegts, from 'video.ts':
Duration: 00:32:50.07, start: 1.407811, bitrate: 2227 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 117 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[h264 @ 0x7fa933003c00] co located POCs unavailable
[h264 @ 0x7fa933001800] mmco: unref short failure
[h264 @ 0x7fa931800000] co located POCs unavailable
[h264 @ 0x7fa933003c00] mmco: unref short failure
[libx264 @ 0x7fa932801000] using SAR=1/1
[libx264 @ 0x7fa932801000] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7fa932801000] profile High, level 3.1
Output #0, mpegts, to 'output.ts':
Metadata:
encoder : Lavf58.20.100
Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc58.35.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 117 kb/s
frame= 236 fps= 38 q=-1.0 Lsize= 2974kB time=00:00:09.98 bitrate=2439.3kbits/s speed=1.62x
video:2559kB audio:165kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 9.200110%
[libx264 @ 0x7fa932801000] frame I:4 Avg QP:20.49 size: 56038
[libx264 @ 0x7fa932801000] frame P:115 Avg QP:22.34 size: 15286
[libx264 @ 0x7fa932801000] frame B:117 Avg QP:24.56 size: 5452
[libx264 @ 0x7fa932801000] consecutive B-frames: 18.2% 44.1% 8.9% 28.8%
[libx264 @ 0x7fa932801000] mb I I16..4: 26.5% 32.9% 40.6%
[libx264 @ 0x7fa932801000] mb P I16..4: 7.4% 12.8% 3.4% P16..4: 30.6% 8.0% 4.0% 0.0% 0.0% skip:33.8%
[libx264 @ 0x7fa932801000] mb B I16..4: 1.5% 2.3% 1.1% B16..8: 20.9% 4.1% 0.6% direct: 3.1% skip:66.4% L0:38.0% L1:58.6% BI: 3.4%
[libx264 @ 0x7fa932801000] 8x8 transform intra:50.8% inter:63.0%
[libx264 @ 0x7fa932801000] coded y,uvDC,uvAC intra: 40.3% 71.6% 31.3% inter: 9.5% 21.8% 1.4%
[libx264 @ 0x7fa932801000] i16 v,h,dc,p: 42% 35% 15% 8%
[libx264 @ 0x7fa932801000] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 25% 27% 4% 3% 3% 5% 3% 6%
[libx264 @ 0x7fa932801000] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 27% 15% 6% 6% 5% 7% 5% 6%
[libx264 @ 0x7fa932801000] i8c dc,h,v,p: 42% 28% 22% 8%
[libx264 @ 0x7fa932801000] Weighted P-Frames: Y:4.3% UV:4.3%
[libx264 @ 0x7fa932801000] ref P L0: 74.0% 13.6% 9.5% 2.9% 0.1%
[libx264 @ 0x7fa932801000] ref B L0: 85.0% 13.2% 1.8%
[libx264 @ 0x7fa932801000] ref B L1: 98.3% 1.7%
[libx264 @ 0x7fa932801000] kb/s:2220.26
Risposte
Risolto ... prima:
ffmpeg -i video.ts -c copy video.mp4
e poi invece di:
ffmpeg -ss 5.5 -i video.mp4 -to 10 -avoid_negative_ts make_zero -vcodec libx264 -crf 23 -acodec copy output.ts
tu fai:
ffmpeg -ss 5.5 -i video.mp4 -ss 0 -to 10 -avoid_negative_ts make_zero -vcodec libx264 -crf 23 -acodec copy output.ts