Earlier quoted context omitted.
Right, but transport stream should only be used in broadcasting. It shouldn't be used on discs (ahem Blu-ray) or other storage and it shouldn't be used over the Internet. Program stream is usually a better choice.
What about bridging broadcast media to IP or vice versa? One of the advantages of MPEG-TS is that it’s dead simple to map it to RTP or even plain UDP and back even with packet loss and data errors.
Why does MPEG Transport Stream still exist?
21–30 of 54 posts
Re: Why does MPEG Transport Stream still exist?
#22MPEG-TS is incorporated in many digital TV standards. They will continue to be around for a long time simply because of that, regardless of technical points.
Fun fact. DOCSIS 1.0 through 3.0 cable Internet uses MPEG-2 Transport Streams to deliver the IP packets. It has to, because the QAM specification (ANSI/SCTE 07) is built around 188 byte TS packets.
There was literally a register bit in the cable modem MAC to enable promiscuous mode, and you could just set it: https://pastebin.com/18702Ziq
Sadly the Broadcom modem hardware I used to experiment with then seemed to lack the ability to get at the raw MPEG-TS packets, so I didn't manage to repurpose it as a TV receiver. The idea was to tune to a TV channel and stream it over multicast RTP on the LAN.
As used modems were very cheap, I wanted to have a whole bank of them, to demodulate every carrier on the CATV system. All fed into a giant, noisy 24 port 100Mb Ethernet switch that had IGMP snooping support. That was back in the 2000s...
Modem photo: https://www.usbjtag.com/jtagnt/ambit120.jpg
Re: Why does MPEG Transport Stream still exist?
#23EDIT: Big-boy drones.
Re: Why does MPEG Transport Stream still exist?
#24Drones. EDIT: Big-boy drones.
Update, I found some more info here: https://news.ycombinator.com/item?id=1002227
Re: Why does MPEG Transport Stream still exist?
#25The simple answer: MPEG-TS still exists because it’s still the best media container/transport system in existence. It was designed and has evolved over a long time based on solid foundations by very smart people in the industry, across multiple institutions and professions. As opposed to the “format du jour” that was quickly thrown together by some eastern block script kiddie who saw the basic outline of an AVI file…
You really do get the sense of that when reading ISO 13818-1, too. It provides solid technical information but plenty of theory and extrapolation on these ideas to ensure that you truly understand their purpose. After reading it I had a much deeper appreciation of what it took to define it.
Re: Why does MPEG Transport Stream still exist?
#26Earlier quoted context omitted.
> I have had no problems with measuring NTP drift. Yeah, their claim is just weird. RTP does not impose an accuracy requirement on its timestamps (despite the name "NTP timestamp" in the Sender Reports, they are not actually expected to be synchronized with an NTP source), but I am skeptical such requirements would be met in practice if they did exist. The author only talks about video, but audio is a much bigger pro…
The RFC does not mandate that the RTCP timestamp (which you need to handle wraparound if you join a stream halfway through) needs to be the same as the video/audio clock. In practice this clock is generated via the PC clock so it isn't the same clock at all: https://chromium.googlesource.com/external/webrtc/+/lkgr/mod... RTCP SRs are sent quite rarely (defaulting to 1s for video, 5s for audio) so quite poor for preci…
Yes, that is the point. WebRTC has to work with cheap / commodity hardware running a general purpose OS with clocks that are not synchronized. You get a bunch of clocks in different units running at different rates, and periodically are told the mappings between them. It is your job not to "run out of memory, or advance too quickly and run out of data to process," and indeed, WebRTC implementations have methods of solving those problems.
> Probably practical implementations just use buffer fullness to drive their resampler.
You are correct that in practice this gets driven by the jitter buffer in libwebrtc, but there is no resampler at all. Small changes in sampling rate are hard / computationally expensive to do well (as you certainly know). That is an implementation detail, though. You can use a different strategy if you have different requirements.
> ...precise clock recovery required in professional applications.
What are your actual precision requirements?
I also do not understand your concerns with wrap-around. Even SRs once every 5 seconds are more than enough to resolve ambiguity. You would have to go over half a day without seeing one before you could actually get confused, by which point you would have bigger issues.
Keep in mind that even at the start of the stream, the media timestamps are not absolute: each chooses an initial offset randomly.
Re: Why does MPEG Transport Stream still exist?
#27Earlier quoted context omitted.
Author here: >I have had no problems with measuring NTP drift. As the clocks change I would measure. Did you read the article? NTP is not the same as the video/audio clock which is what you need to care about. I have to now take a drink even though it's 5am here in Singapore. > Common Clock for Audio and Video No idea what sequence numbers have to do with clocks here. Maybe you mean a mapping of absolute time to rela…
Each RTP packet has a 32bit timestamp, and a 32 bit SSRC. Each "sender" in an RTP session must use the same SSRC, this is how synchronisation between audio and video streams from the same sender (lip-sync) is achieved. The timestamps have a resolution defined by the clock rate communicated externally through a signalling channel.
Re: Why does MPEG Transport Stream still exist?
#28MPEG-TS is incorporated in many digital TV standards. They will continue to be around for a long time simply because of that, regardless of technical points.
Right, but transport stream should only be used in broadcasting. It shouldn't be used on discs (ahem Blu-ray) or other storage and it shouldn't be used over the Internet. Program stream is usually a better choice.
"The Program Stream is designed for use in relatively error-free environments and is suitable for applications which may involve software processing of system information such as interactive multi-media applications. Program Stream packets may be of variable and relatively great length."
Re: Why does MPEG Transport Stream still exist?
#29Earlier quoted context omitted.
Fun fact. DOCSIS 1.0 through 3.0 cable Internet uses MPEG-2 Transport Streams to deliver the IP packets. It has to, because the QAM specification (ANSI/SCTE 07) is built around 188 byte TS packets.
And in those early days many cable providers didn't even implement the Baseline Privacy Interface, so you could sniff the entire neighborhood's downstream traffic with a modified modem or possibly even a DVB-C capable TV card. There was literally a register bit in the cable modem MAC to enable promiscuous mode, and you could just set it: https://pastebin.com/18702Ziq Sadly the Broadcom modem hardware I used to experi…