Hello, It seems that using the argument "-flags +global_header" with the bitstream filter "dump_extra" fixes the issue. Why this isn't needed when directly muxing with ISMV instead of fifo is beyond me.
On Tue, 23 Jun 2020 at 12:03, Louis Geuten <louis.geu...@freecaster.com> wrote: > Hello, > > I'm using ffmpeg to transcode vod or live content using h264 through the > ISMV protocol. > I have had a few issues with networking recently, and decided to try to > use the fifo muxer to decouple the output I/O from the encoding. > > However it seems that the video packets produced by the muxer are not > valid. The audio seems fine. > Saving the file on disk allow me to probe it, and it fails with the > following error: > > [extract_extradata @ 0x48c9900] No start code is found. > bonjour/Stream(v-0-1280): Invalid data found when processing input > > I have attached the output logs for both commands. > > The *fifo* command, which produces corrupt video files > *(Job-7-Run-36.err)* > /usr/local/bin/ffmpeg -nostdin -loglevel trace -probesize 20M > -analyzeduration 10M -y -re -stream_loop -1 -i kuro_demo.mp4 -map 0:0 -vf > "scale=1280:720" -pix_fmt yuv420p -preset veryfast -tune zerolatency > -x264opts no-sliced-threads:nal-hrd=cbr:scenecut=0:qpmax=45:keyint=25 > -minrate 2600K -maxrate 2600K -bufsize 5200K -b:v:0 2600K -flags +cgop -g > 25 -keyint_min 25 -r 25.000000 -c:v:0 libx264 -an -bsf:v dump_extra -f fifo > -fifo_format ismv -queue_size 200 -drop_pkts_on_overflow 1 > -attempt_recovery 1 -recovery_wait_time 1 -restart_with_keyframe 1 > -format_opts > frag_duration=1920000:movflags=isml+frag_keyframe:write_prft=wallclock:fflags=+genpts > bonjour/Stream(v-0-1280) -map 0:1 -c:a:0 aac -b:a:0 96K -ac 2 > -metadata:s:a:0 language=und -bsf:v dump_extra -f fifo -fifo_format ismv > -queue_size 200 -drop_pkts_on_overflow 1 -attempt_recovery 1 > -recovery_wait_time 1 -restart_with_keyframe 1 -format_opts > fflags=+genpts:frag_duration=1920000:movflags=isml+frag_keyframe:write_prft=wallclock > bonjour/Stream(a-0-und) > > The same command without using the fifo muxer: (*Job-7-Run-37.err*) > /usr/local/bin/ffmpeg -nostdin -loglevel trace -probesize 20M > -analyzeduration 10M -y -re -stream_loop -1 -i kuro_demo.mp4 -map 0:0 -vf > "scale=1280:720" -pix_fmt yuv420p -preset veryfast -tune zerolatency > -x264opts no-sliced-threads:nal-hrd=cbr:scenecut=0:qpmax=45:keyint=25 > -minrate 2600K -maxrate 2600K -bufsize 5200K -b:v:0 2600K -flags +cgop -g > 25 -keyint_min 25 -r 25.000000 -c:v:0 libx264 -an -f ismv -movflags > isml+frag_keyframe -write_prft wallclock -fflags +genpts -frag_duration > 1920000 bonjour/Stream(v-0-1280) -map 0:1 -c:a:0 aac -b:a:0 96K -ac 2 > -metadata:s:a:0 language=und -f ismv -fflags +genpts -frag_duration 1920000 > -movflags isml+frag_keyframe -write_prft wallclock bonjour/Stream(a-0-und) > > I am using the latest git HEAD commit > (44ce333f03e5daf7883147938f74018cec287aec) built from source. > > Is there some option I am missing to make the output ISMV file correct ? > Or is this a bug in the fifo muxer ? > > Thanks for the help. > -- ___________________________________________________ Louis Geuten - Developper Skype: orygin9 *Freecaster - Belgium sprl* mobile: +32 494 08 82 80 15 rue des Phlox - 5100 Nannine - Namur, Belgium VAT: BE0467 231 677 *Freecaster - France sarl* 9 cité du Paradis 75010 Paris, France TVA: FR32 824 896 575 _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".