Hi I've been banging my head for three weeks now trying to find a solution for my problem but I had no luck so far. I'm trying to transcode a DVB-S2 h264 stream into a lower rate h264 but sooner or later the transcoded stream gets out of sync. The input stream is taken from a satellite and I guess it has some sporadic errors which make output go out of sync but is there an option which would make ffmpeg correct on-the-fly these error by duplicating or dropping incorrect audio/video frames? Please help!
The current command line I use is: ffmpeg -i 'udp://239.1.4.3:1234?fifo_size=1000000&overrun_nonfatal=1' \ -map 0:0 -map 0:1 -c:v libx264 -preset faster -b:v 1500k -maxrate 2000k -bufsize 3000k -g 25 -r 25 -crf 28 -fflags +genpts -vf yadif=0:-1:0 \ -ac 2 -b:a 128k -ar 44100 -acodec aac -strict experimental -vsync 1 \ -f mpegts udp://239.1.4.3:2015 And this is what I get: ffmpeg version 2.5.git Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1) configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree libavutil 54. 18.100 / 54. 18.100 libavcodec 56. 21.102 / 56. 21.102 libavformat 56. 19.100 / 56. 19.100 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 9.104 / 5. 9.104 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 [h264 @ 0x2776540] non-existing PPS 0 referenced [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] non-existing PPS 0 referenced [h264 @ 0x2776540] decode_slice_header error [h264 @ 0x2776540] no frame! [h264 @ 0x2776540] non-existing PPS 0 referenced [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] non-existing PPS 0 referenced [h264 @ 0x2776540] decode_slice_header error [h264 @ 0x2776540] no frame! [h264 @ 0x2776540] non-existing PPS 0 referenced [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] non-existing PPS 0 referenced [h264 @ 0x2776540] decode_slice_header error [h264 @ 0x2776540] no frame! [h264 @ 0x2776540] non-existing PPS 0 referenced [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] non-existing PPS 0 referenced [h264 @ 0x2776540] decode_slice_header error [h264 @ 0x2776540] no frame! [h264 @ 0x2776540] non-existing PPS 0 referenced [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] non-existing PPS 0 referenced [h264 @ 0x2776540] decode_slice_header error [h264 @ 0x2776540] no frame! [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] mmco: unref short failure Last message repeated 1 times [h264 @ 0x2776540] number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 [h264 @ 0x2776540] SEI type 4 size 112 truncated at 111 [h264 @ 0x2776540] SEI type 1 size 8 truncated at 5 Input #0, mpegts, from 'udp://239.1.4.3:1234?fifo_size=1000000&overrun_nonfatal=1': Duration: N/A, start: 35152.263556, bitrate: N/A Program 473 Metadata: service_name : Discovery Serbia service_provider: POLARIS Stream #0:0[0x8ec]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg), 720x576 [SAR 12:11 DAR 15:11], 25 fps, 50 tbr, 90k tbn, 50 tbc Stream #0:1[0x8ed](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 kb/s Program 461 Metadata: service_name : RTS 1 service_provider: POLARIS Program 462 Metadata: service_name : RTS 2 service_provider: POLARIS Program 463 Metadata: service_name : Arena Sport 1 service_provider: POLARIS Program 464 Metadata: service_name : Arena Sport 2 service_provider: POLARIS Program 465 Metadata: service_name : Arena Sport 3 service_provider: POLARIS Program 466 Metadata: service_name : Arena Sport 4 service_provider: POLARIS Program 467 Metadata: service_name : Timocka TV service_provider: POLARIS Program 468 Metadata: service_name : PRVA service_provider: POLARIS Program 469 Metadata: service_name : RTV Novi Pazar service_provider: POLARIS Program 470 Metadata: service_name : TV B92 service_provider: POLARIS Program 471 Metadata: service_name : Happy TV service_provider: POLARIS Program 472 Metadata: service_name : AXN Adria service_provider: POLARIS Program 474 Metadata: service_name : KCN service_provider: POLARIS Program 475 Metadata: service_name : Arena Sport BIH service_provider: POLARIS Program 476 Metadata: service_name : RTV1 service_provider: POLARIS Program 477 Metadata: service_name : National Geographic service_provider: BULSATCOM Program 478 Metadata: service_name : Sky Plus service_provider: POLARIS Program 479 Metadata: service_name : Minimax service_provider: BULSATCOM Program 481 Metadata: service_name : OBN service_provider: POLARIS Program 482 Metadata: service_name : Arena Sport 5 service_provider: POLARIS Program 483 Metadata: service_name : BNT World service_provider: BULSATCOM Program 488 Metadata: service_name : MGM service_provider: BULSATCOM Program 480 Metadata: service_name : Ekids service_provider: BULSATCOM Program 496 Metadata: service_name : City TV service_provider: BULSATCOM Program 489 Metadata: service_name : Comedy Central service_provider: BULSATCOM Program 486 Metadata: service_name : Evrokom service_provider: BULSATCOM Program 495 Metadata: service_name : ID Xtra service_provider: BULSATCOM Program 497 Metadata: service_name : BG TOP MUSIC service_provider: BULSATCOM Program 498 Metadata: service_name : MagicTV service_provider: BULSATCOM Program 499 Metadata: service_name : Cinemax service_provider: BULSATCOM Program 490 Metadata: service_name : BG Radio service_provider: BULSATCOM Program 493 Metadata: service_name : Tangra MegaRock service_provider: BULSATCOM Program 491 Metadata: service_name : Darik Radio service_provider: BULSATCOM Program 492 Metadata: service_name : Radio 1 Rock service_provider: BULSATCOM Program 494 Metadata: service_name : NRJ service_provider: BULSATCOM Program 502 Metadata: service_name : radio Payner service_provider: BULSATCOM Program 1020 Metadata: service_name : DATA11 service_provider: BULSATCOM Program 1022 Metadata: service_name : CHL11 service_provider: BULSATCOM Program 1021 Metadata: service_name : MSG11 service_provider: BULSATCOM Program 1024 Metadata: service_name : MSGP11 service_provider: BULSATCOM [libx264 @ 0x2789320] using SAR=12/11 [libx264 @ 0x2789320] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 [libx264 @ 0x2789320] profile High, level 3.0 Output #0, mpegts, to 'udp://239.1.4.3:2015': Metadata: encoder : Lavf56.19.100 Stream #0:0: Video: h264 (libx264), yuv420p, 720x576 [SAR 12:11 DAR 15:11], q=-1--1, 1500 kb/s, 25 fps, 90k tbn, 25 tbc Metadata: encoder : Lavc56.21.102 libx264 Stream #0:1(eng): Audio: aac, 44100 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc56.21.102 aac Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (mp2 (native) -> aac (native)) Press [q] to stop, [?] for help [h264 @ 0x32a8d80] SEI type 1 size 8 truncated at 5 [h264 @ 0x32edb20] SEI type 4 size 112 truncated at 111 With the latest version I get a huge number of these warnings (SEI type truncated) but I could live with that if it would only stay in sync. It seems to me that the transcoded stream gets out of sync when I get these: [h264 @ 0x175b280] number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one [h264 @ 0x175b280] reference picture missing during reorder [h264 @ 0x175b280] Missing reference picture, default is 1020573 [h264 @ 0x12049a0] mmco: unref short failure [h264 @ 0x143c980] mmco: unref short failure Is there any way to make ffmpeg "resiliant to these errors?? Thank you!! _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user