Hello,
I am trying to stream HLS from a very low bitrate MPEG4 stream but only audio is being played and video is blank. I am pulling udp multicast stream via ffmpeg => transcoding it into mpeg4 => pushing it to wmspanel/nimble via udp:
ffmpeg -re -timeout 2000 -i 'udp://@239.1.9.53:8002?overrun_nonfatal=1&fifo_size=50000000' -pix_fmt yuv420p -aspect 16:9 -filter:v yadif=0:-1:1,fps=25 -c:v mpeg4 -vtag xvid -s 176:144 -b:v 74k -c:a aac -b:a 64k -ar 44100 -framerate 20 -strict -2 -max_muxing_queue_size 1024 -f mpegts 'udp://192.168.2.200:2345' </dev/null >/dev/null 2>/root/mpeg4.log &
The following is the ffmpeg output:
Input #0, mpegts, from 'udp://@239.1.9.53:8002?overrun_nonfatal=1&fifo_size=50000000':
Duration: N/A, start: 50971.689489, bitrate: N/A
Program 98
Metadata:
service_name : #########
service_provider: ########
Stream #0:0[0x63]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg, top first), 720x576 [SAR 12:11 DAR 15:11], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x64](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 128 kb/s
Stream #0:2[0x65](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 64 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native))
Stream #0:1 -> #0:1 (mp2 (native) -> aac (native))
Press [q] to stop, [?] for help
[h264 @ 0x55e294d23460] reference picture missing during reorderbitrate= -0.0kbits/s speed=N/A
[h264 @ 0x55e294d23460] Missing reference picture, default is 65413
[h264 @ 0x55e294e00ce0] mmco: unref short failure
Last message repeated 1 times
[h264 @ 0x55e294e00ce0] number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
[h264 @ 0x55e294b76aa0] mmco: unref short failure
[h264 @ 0x55e294e1fa80] mmco: unref short failure
[mpeg4 @ 0x55e294c233c0] too many threads/slices (10), reducing to 9ate= -0.0kbits/s speed=N/A
Output #0, mpegts, to 'udp://192.168.2.200:2345':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: mpeg4, yuv420p, 176x144 [SAR 16:11 DAR 16:9], q=2-31, 74 kb/s, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc57.107.100 mpeg4
Side data:
cpb: bitrate max/min/avg: 0/0/74000 buffer size: 0 vbv_delay: -1
Stream #0:1(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 64 kb/s
Metadata:
encoder : Lavc57.107.100 aac
root@vm2:~# fps= 25 q=31.0 size= 3790kB time=00:02:40.12 bitrate= 193.9kbits/s speed=0.998x
I have pulled the above mpegts udp stream via wmspanel/MPEGTS In and streaming via hls through MPEGTS Out. In MPEGTS out, I can see that both VIDEO and profile audio profiles are being loaded (udp://192.168.2.200:2345 Stream 256 (MPEG-4 Video) udp://192.168.2.200:2345 Stream 257 (MPEG-2 AAC Audio)
However, when I play the HLS stream, there is no video but audio is playing.
The video is playing when I use x264 codec in ffmpeg. As listed in https://wmspanel.com/nimble/codecs MPEG4 Video is supported.
Could you please suggest?