[FFmpeg-trac] #11198(avformat:closed): Specified MPEG-TS mpegts_pmt_start_pid is not written to HLS(-ssegment) segments
FFmpeg
trac at avcodec.org
Fri Sep 20 17:24:51 EEST 2024
#11198: Specified MPEG-TS mpegts_pmt_start_pid is not written to HLS(-ssegment)
segments
-------------------------------------+-------------------------------------
Reporter: adamvaul | Owner: (none)
Type: defect | Status: closed
Priority: normal | Component: avformat
Version: git-master | Resolution: invalid
Keywords: hls | Blocked By:
metadata segment |
Blocking: | Reproduced by developer: 1
Analyzed by developer: 1 |
-------------------------------------+-------------------------------------
Old description:
> Summary of the bug:
>
> See a partial fix (12 years ago) here:
> https://trac.ffmpeg.org/ticket/2230
>
> This only provided a fix for metadata flags
> -service_name
> -service_provider
> to be passed on to the chained mpegts muxer
>
> but it did not pass on the flags for
> -mpegts_pmt_start_pid or
> -mpegts_start_pid
>
> You can obtain a copy of big buck bunny here:
> https://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4
>
> What I want:
>
> {{{
> -mpegts_pmt_start_pid and/or -mpegts_start_pid flags to be passed on to
> the mpegts muxer
>
> Then, if you use TSDuck tsanalyze tool (or another mpegts analyzyer) on
> .ts segment files you should see
> tsanalyze output of final file:
> |===========================================================================|
> | PID: 0x01E0 (480)
> PMT|
>
> }}}
>
> What I get:
>
> {{{
> |===========================================================================|
> | PID: 0x1000 (4096)
> PMT|
> }}}
>
>
>
> How to reproduce:
> {{{
> % ffmpeg -report -i BigBuckBunny_320x180.mp4 -t 24 -c:v libx264 -crf 22
> -minrate:v 600000 -maxrate:v 600000 -bufsize:v 1200000 -preset fast
> -profile:v main -pix_fmt yuv420p -g 30 -keyint_min 30 -level 4.0 -s
> 640x360 -c:a aac -minrate:a 96000 -maxrate:a 96000 -bufsize:a 192000
> -strict -2 -start_number 1 -hls_time 6 -segment_time 6 -hls_list_size 0
> -force_key_frames
> "expr:if(isnan(prev_forced_n),1,eq(n,prev_forced_n+30))" -sn
> -output_ts_offset 0.66666667 -hls_segment_filename
> BigBuckBunny_320x180_6S600K360_%05d.ts -hls_playlist_type vod
> -sc_threshold 0 -mpegts_pmt_start_pid 480 -streamid 0:481 -streamid 1:482
> -metadata service_provider="Some provider" -metadata service_name="Some
> Channel" -f hls BigBuckBunny_320x180_6S600K360.m3u8
> }}}
>
> See Report logs attached.
New description:
Summary of the bug:
See a partial fix (12 years ago) here: https://trac.ffmpeg.org/ticket/2230
This only provided a fix for metadata flags
-service_name
-service_provider
to be passed on to the chained mpegts muxer
but it did not pass on the flags for
-mpegts_pmt_start_pid or
-mpegts_start_pid
You can obtain a copy of big buck bunny here:
https://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4
What I want:
{{{
-mpegts_pmt_start_pid and/or -mpegts_start_pid flags to be passed on to
the mpegts muxer
Then, if you use TSDuck tsanalyze tool (or another mpegts analyzyer) on
.ts segment files you should see
tsanalyze output of final file:
|===========================================================================|
| PID: 0x01E0 (480)
PMT|
}}}
What I get:
{{{
|===========================================================================|
| PID: 0x1000 (4096)
PMT|
}}}
How to reproduce:
{{{
% ffmpeg -i BigBuckBunny_320x180.mp4 -t 24 -start_number 1 -hls_time 6
-segment_time 6 -hls_list_size 0 -hls_segment_filename
BigBuckBunny_320x180_6S600K360_%05d.ts -hls_playlist_type vod
-sc_threshold 0 -mpegts_pmt_start_pid 480 -mpegts_start_pid 481 -f hls
BigBuckBunny_320x180_6S600K360.m3u8
}}}
See Report logs attached.
--
Comment (by adamvaul):
Thank you so much. I will try this!
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11198#comment:7>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list