Open Prathik9 opened 2 weeks ago
Without assigning blame, a parser error means that the parser doesn't understand the content as formatted. It's possible for the content to be malformed, and it's possible for the parser to be buggy.
Can you please share your Packager command line and some information on the source of the UDP stream?
'packager', 'input=udp://10.0.90.38:5002,stream=video,init_segment=/var/opt/live/test_1/video_1/video_init.mp4,segment_template=/var/opt/live/test_1/video1/video$Number$.m4s,drm_label=VIDEO,hls_name=video_1,iframe_playlist_name=/var/opt/live/test_1/video_1/iframe.m3u8,hls_group_id=video',
'input=udp://10.0.90.38:5002,stream=audio,init_segment=/var/opt/live/test_1/audio_tr1/audio_init.mp4,segment_template=/var/opt/live/test_1/audiotr1/audio$Number$.m4s,stream_selector=1,language=tr1,hls_name=tr1,hls_group_id=audio,playlist_name=/var/opt/live/test_1/audio_tr1/audio_tr1.m3u8,drm_label=AUDIO',
'--segment_duration=2', '--hls_playlist_type=LIVE', '--allow_approximate_segment_timeline', '--time_shift_buffer_depth=40', '--preserved_segments_outside_live_window=5', '--hls_master_playlist_output=/var/opt/live/test_1/master.m3u8', '--mpd_output=/var/opt/live/test_1/master.mpd', '--v=2'
This is the packager cmd I am using. I am getting UDP from SRT, where I am transcoding it and pushing to the IP's port
Can you share information about the transcode? Are you using FFmpeg, or something else? What version? What command?
i am using GStreamer for the transcode don't know much about that I will share what I know GOP=50 codec=h264 MPEG-TS
Could gstreamer have a bug that creates malformed TS packets? Can you update it to the latest release and try again?
Can you also try taking some of those TS that failed to parse and checking them against another parser, such as https://thumb.co.il/ ?
I am also using Gstreamer and also getting the same error. How should I get that TS that has malformed? I am converting filesrc(mp4> --> udp) in the gstreamer pipeline, so whether the problem is in input mp4?
E1119 05:46:23.075434 8 h264_parser.cc:1011] Interlaced streams not supported W1119 05:46:23.075440 8 mp2t_media_parser.cc:393] Ignoring unsupported stream with pid=101 E1119 05:46:23.075564 8 demuxer.cc:112] Invalid argument, stream=1 not available. I1119 05:46:23.075581 8 status.cc:76] 3 (INVALID_ARGUMENT): Stream not available E1119 05:46:23.076109 7 packager_main.cc:628] Packaging Error: 3 (INVALID_ARGUMENT): Stream not available
Any one explain this? Is this related to same bug from above
How should I get that TS that has malformed?
As I said, could you try taking some of those TS that failed to parse and checking them against another parser, such as https://thumb.co.il/ ?
If they are parsed successfully by other software, that could help someone understand the problem and improve the parser in Shaka Packager. If they fail there, too, then please report the bug to gstreamer: https://gstreamer.freedesktop.org/documentation/contribute/index.html?gi-language=c#how-to-file-issues-and-request-for-enhancements
In UDP input, how can I get TS packets for the parser test? 'packager', 'input=udp://10.0.90.38:5002,stream=video,init_segment=/var/opt/live/test_1/video_1/video_init.mp4,segment_template=/var/opt/live/test_1/video1/video$Number$.m4s,drm_label=VIDEO,hls_name=video_1,iframe_playlist_name=/var/opt/live/test_1/video_1/iframe.m3u8,hls_group_id=video', 'input=udp://10.0.90.38:5002,stream=audio,init_segment=/var/opt/live/test_1/audio_tr1/audio_init.mp4,segment_template=/var/opt/live/test_1/audiotr1/audio$Number$.m4s,stream_selector=1,language=tr1,hls_name=tr1,hls_group_id=audio,playlist_name=/var/opt/live/test_1/audio_tr1/audio_tr1.m3u8,drm_label=AUDIO','--segment_duration=2','--hls_playlist_type=LIVE', '--allow_approximate_segment_timeline', '--time_shift_buffer_depth=40', '--preserved_segments_outside_live_window=5', '--hls_master_playlist_output=/var/opt/live/test_1/master.m3u8', '--mpd_output=/var/opt/live/test_1/master.mpd', '--v=2'
I'm also seeing the same error on a passed through HEVC stream from ffmpeg to shaka 3.4.0. This only happens in the very first seconds of the stream, for example, starting ffmpeg + shaka at the same time or if i start shaka first, then ffmpeg, shaka crashes with this error.
If i start shaka after say 10 seconds, all is fine
What i get: E1124 22:36:44.512183 3446371 mp2t_media_parser.cc:122] Parsing failed for pid = 256, type=3 E1124 22:44:09.020962 3446483 packager_main.cc:629] Packaging Error: 8 (PARSER_FAILURE): Cannot parse media file udp://239.224.20.148:2345?reuse=1&buffer_size=6000000
I dont have an analyzer handy but i'm guessing shaka does not like some of the initial packets sent by ffmpeg. I'll try to capture and run an analysis when i find some time :)
The TS file is parsed fine by https://media-analyzer.pro/app which also has a bitstream analyzer
I can provide both source stream samples as well as ffmpeg passthru stream samples in private
E1108 08:40:14.781702 8 mp2t_media_parser.cc:122] Parsing failed for pid = 101, type=3 I1108 08:40:14.781818 8 status.cc:76] 8 (PARSER_FAILURE): Cannot parse media file udp://192.168.50.4:3501 E1108 08:40:14.781987 7 packager_main.cc:628] Packaging Error: 8 (PARSER_FAILURE): Cannot parse media file udp://192.168.50.4:3501
in between packaging, the error appeared , but the udp is transcoded with mpe-ts correctly , whats the main problem here