Transmitting Sliced-I frames with ffmpeg
I have an encoder which gives me the option of generating sliced I frames. These frames have a slice of I frame inserted in each frame, but there is never a full I frame. If I use FFMpeg to rebroadcast the stream to an HLS stream, then it works well when I'm not using sliced I frames, but only transmits audio when there are sliced I frames in the incoming stream. Is there any way of persuading it to accept sliced I frames? I know I'm using an old version of ffmpeg, but it's built for an embedded processor, and I've used different options and modified some examples for a different application. The result is that I REALLY don't want to have to rebuild with the latest code, but if someone can assure me that the latest build DOES support sliced I frame I will do that - I don't want to take a gamble though. ~/ffmpeg/ffmpeg -i udp://127.0.0.1:65111 -bsf:v h264_mp4toannexb -hls_time 0.4 -hls_list_size 20 -hls_flags delete_segments+split_by_time -codec copy browser.m3u8 ffmpeg version N-81696-gd38dff8e Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.9.3 (Linaro GCC 4.9-2014.11) 20141031 (prerelease) configuration: --disable-decoders --enable-decoder=h264 --enable-decoder=vc1 --enable-decoder=aac --disable-ffplay --disable-ffprobe --disable-ffserver --enable-neon libavutil 55. 29.100 / 55. 29.100 libavcodec 57. 57.100 / 57. 57.100 libavformat 57. 49.100 / 57. 49.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 62.100 / 6. 62.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 [h264 @ 0xbc4a30] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0xbc4a30] decode_slice_header error [h264 @ 0xbc4a30] non-existing PPS 0 referenced [h264 @ 0xbc4a30] decode_slice_header error [h264 @ 0xbc4a30] non-existing PPS 0 referenced [h264 @ 0xbc4a30] decode_slice_header error [h264 @ 0xbc4a30] no frame! [h264 @ 0xbc4a30] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0xbc4a30] decode_slice_header error [h264 @ 0xbc4a30] non-existing PPS 0 referenced [h264 @ 0xbc4a30] decode_slice_header error [h264 @ 0xbc4a30] non-existing PPS 0 referenced [h264 @ 0xbc4a30] decode_slice_header error [h264 @ 0xbc4a30] no frame! Input #0, mpegts, from 'udp://127.0.0.1:65111': Duration: N/A, start: 10874.683144, bitrate: N/A Program 1 Metadata: service_name : PROGRAM 001 service_provider: SVP NETWORK Stream #0:0[0x1100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 60 fps, 60 tbr, 90k tbn, 120 tbc Stream #0:1[0x1110]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 109 kb/s [hls @ 0xc2f540] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times Output #0, hls, to '/home/root/studio_web/myapp/public/images/browser.m3u8': Metadata: encoder : Lavf57.49.100 Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 60 fps, 60 tbr, 90k tbn, 60 tbc Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, 109 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) So it clearly sees the H264 stream, but never copies any frames. Cheers, Simon
2017-05-23 13:50 GMT+02:00 Simon Brown <simon.k.brown@gmail.com>:
~/ffmpeg/ffmpeg -i udp://127.0.0.1:65111
If the issue is reproducible with current FFmpeg git head, please dump the udp stream to a file (with tcpdump or similar) and provide a sample for testing. Carl Eugen
participants (2)
-
Carl Eugen Hoyos -
Simon Brown