Opened 4 years ago
Last modified 3 years ago
#9102 new defect
make HLS from multicast with ac3 audio track which have 0 channels
Reported by: | krs_vital | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | git-master | Keywords: | ac3 |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
I want to make HLS with stream determined like this:
[mpegts @ 0x2635780] Could not find codec parameters for stream 3 (Audio: ac3 (AC-3 / 0x332D4341), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' (25000000) and 'probesize' (25000000) options
Input #0, mpegts, from 'udp://239.192.39.3:1234':
Duration: N/A, start: 42075.039333, bitrate: N/A
Program 17104
Metadata:
service_name : VIP Premiere
service_provider: HTB+
Stream #0:1[0x130]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:2[0x194](rus): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:3[0x1a8](rus): Audio: ac3 (AC-3 / 0x332D4341), 0 channels, fltp
Stream #0:4[0x1f8](rus): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
but ffmpeg stops and do nothing.
sometimes in this stream on audio track [Stream #0:3] appears bitrate when TV provider make it, but sometimes this audio track is empty.This usually happens when content with 5.1 sound is turned on and then this track is not empty.
How to make ffmpeg automatically detect the audio track on the fly and start working with it, since during decoding it can be empty or not?
Ffmpeg starts like this:
/usr/local/bin/ffmpeg -analyzeduration 25000000 -probesize 25000000 -dts_delta_threshold 3600 -err_detect ignore_err -correct_ts_overflow 0 -copytb 1 -overrun_nonfatal 1 -i udp://239.192.39.3:1234 -y -sn -dn -c:v copy -c:a aac -vsync 1 -hls_time 10 -map 0 -ignore_unknown -strftime 1 -strftime_mkdir 1 -max_interleave_delta 360000000000 -hls_flags omit_endlist -hls_segment_filename /store/records/Premium/%Y/%m/%d/%H/%s.ts /hls/tmp/Premium.m3u8
Change History (6)
comment:1 by , 4 years ago
follow-up: 3 comment:2 by , 4 years ago
i cant record with ffmpeg becouse it cut stream with 0 channels:
ffmpeg -i udp://239.192.39.3:1234 -c copy /var/db/stream.ts
[mpegts @ 0x3027e00] Could not find codec parameters for stream 3 (Audio: ac3 (AC-3 / 0x332D4341), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mpegts, from 'udp://239.192.39.3:1234':
Duration: N/A, start: 75125.665644, bitrate: N/A
Program 17104
Metadata:
service_name : VIP Premiere
service_provider: HTB+
Stream #0:1[0x130]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:2[0x194](rus): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:3[0x1a8](rus): Audio: ac3 (AC-3 / 0x332D4341), 0 channels, fltp
Stream #0:4[0x1f8](rus): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
No Program
Stream #0:0[0x12]: Data: epg
Output #0, mpegts, to '/var/db/stream.ts':
Metadata:
encoder : Lavf58.65.101
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 50 tbr, 90k tbn, 90k tbc
Stream #0:1(rus): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
Press [q] to stop, ? for help
but i managed to do this with multicat from videolan:
/usr/local/bin/multicat -Uuf -t 10 @239.192.39.3 /var/db/stream.ts
comment:3 by , 4 years ago
Replying to krs_vital:
i cant record with ffmpeg becouse it cut stream with 0 channels:
Can i think this is not hls problem, it should happen in mpegts or udp?
ffmpeg -i udp://239.192.39.3:1234 -c copy /var/db/stream.ts
[mpegts @ 0x3027e00] Could not find codec parameters for stream 3 (Audio: ac3 (AC-3 / 0x332D4341), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mpegts, from 'udp://239.192.39.3:1234':
Duration: N/A, start: 75125.665644, bitrate: N/A
Program 17104
Metadata:
service_name : VIP Premiere
service_provider: HTB+
Stream #0:1[0x130]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:2[0x194](rus): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:3[0x1a8](rus): Audio: ac3 (AC-3 / 0x332D4341), 0 channels, fltp
Stream #0:4[0x1f8](rus): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
No Program
Stream #0:0[0x12]: Data: epg
Output #0, mpegts, to '/var/db/stream.ts':
Metadata:
encoder : Lavf58.65.101
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 50 tbr, 90k tbn, 90k tbc
Stream #0:1(rus): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
Press [q] to stop, ? for help
but i managed to do this with multicat from videolan:
/usr/local/bin/multicat -Uuf -t 10 @239.192.39.3 /var/db/stream.ts
comment:4 by , 4 years ago
it happens in both cases, there is no audio ac3 track on the output:
ffmpeg -re -i ./stream.ts -c copy -f mpegts udp://239.192.33.33:1234
[mpegts @ 0x42bca40] start time for stream 0 is not set in estimate_timings_from_pts
[mpegts @ 0x42bca40] start time for stream 3 is not set in estimate_timings_from_pts
[mpegts @ 0x42bca40] start time for stream 4 is not set in estimate_timings_from_pts
[mpegts @ 0x42bca40] PES packet size mismatch
[mpegts @ 0x42bca40] Packet corrupt (stream = 2, dts = 6774606868).
[mpegts @ 0x42bca40] stream 3 : no TS found at start of file, duration not set
[mpegts @ 0x42bca40] Could not find codec parameters for stream 3 (Audio: ac3 (AC-3 / 0x332D4341), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from './stream.ts':
Duration: 00:00:20.13, start: 75254.113644, bitrate: 6130 kb/s
Program 17104
Metadata:
service_name : VIP Premiere
service_provider: HTB+
Stream #0:1[0x130]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:2[0x194](rus): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:3[0x1a8](rus): Audio: ac3 (AC-3 / 0x332D4341), 0 channels, fltp
Stream #0:4[0x1f8](rus): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
No Program
Stream #0:0[0x12]: Data: epg
Output #0, mpegts, to 'udp://239.192.33.33:1234':
Metadata:
encoder : Lavf58.43.100
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 50 tbr, 90k tbn, 90k tbc
Stream #0:1(rus): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
comment:5 by , 4 years ago
i found the same problem with mp3 audio track (https://mycloud.g-service.ru:4430/s/Sb1j5fjWNCpMYUE):
ffprobe -i /var/db/stream1.ts
[mpegts @ 0x349ddc0] Could not find codec parameters for stream 3 (Audio: mp3 ([4][0][0][0] / 0x0004), 0 channels): unspecified frame size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mpegts, from '/var/db/stream1.ts':
Duration: 00:00:10.41, start: 89870.739067, bitrate: 8233 kb/s
Program 17105
Metadata:
service_name : Viasat Nature/History HD
service_provider: HTB+
Stream #0:1[0x131]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:2[0x195](rus): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 160 kb/s
Stream #0:3[0x1a9](eng): Audio: mp3 ([4][0][0][0] / 0x0004), 0 channels
Stream #0:4[0x7c1](rus): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
No Program
Stream #0:0[0x12]: Data: epg
Unsupported codec with id 98306 for input stream 0
Could you upload the recording file mpegts,