MPEG TS:
1) MPEG TS file has multiple elementary [multiple audio track] streams... why ? what is the purpose of it?
I got lost once I got the info like TS can have multiple Program streams what is the purpose of it ???
Transport Stream had been originally designed for broadcast.
to carry several media over one bit stream, all the streams are muxed in to one stream and sent it over the network.
Consider DVB (digital TV): each transponder (= frequency) provides one bit stream. But you already need at least two streams for a TV channel: audio and video. And then a lot more that you'll never see carrying meta-information. So instead of transporting each of these streams on a separate frequency, they are multiplexed into one bit stream. That is the MPEG-TS (Transport Stream). A demuxer then takes this stream and separates it into substreams which carry the real information.
As to which audio stream is played: a TV channel can have several audio streams (for example, normal audio, audio with descriptions for visual impaired, another language, etc.). By default, a player will probably play the first audio stream but can switch audio streams at any time.
TS can have multiple elementary streams which will have separate streams for video/audio/subtitle/Program timing information.
while we are using airtel/Tata sky SetTopBox, we can see the program information at what time, what is the program. This kind of information
is available in PSI of MPEG TS format.PSI means Program Specific Information. PSI contains information about @ what time and date,
what program is to be played.
For more:http://en.wikipedia.org/wiki/Program-specific_information
2)Seek functionality for MPEG TS:
If we want to add seek functionality to MPEG TS what should we need to do?
MPEG TS fileformat is not designed for random access. So It can be viewed sequentially.
Android stagefright doesnt have a seek functionality for TS file formats.
But VLC player has added seek functionality in TS fileformat based on PCR [Program clock Reference].
3)what is PCR :
To enable a decoder to present synchronized content, such as audio tracks matching the associated video, at least once each 100 ms a Program Clock Reference, or PCR is transmitted in the adaptation field of an MPEG-2 transport stream packet.
Decoder will calculate actual system time clock.
The PCR is a clock that represents 27 Mhz clock at the encoder side. Hence each tick of PCR clock represents the 1/27 Microseconds.
The first step is to be able to parse the PCR packet. The PCR ticks are maintained by a specific PID (mostly video but can be audio or alternative packets). When the PCR is present in the packet, it is of Adaptation field, type 2 or 3. You can refer to this or wiki for understanding how to parse PCR.
Once you get the PCR value of the packet - (use a 64 bit integer) you have a timestamp P0 for that packet. Now you can seek to exactly say 10 seconds, when you get next PCR packet, with a time stamp, P1 where
P1 = P0 + 10 * 27 * 10^6
So when you see another such packet containing timestamp P1 or more you can be sure of elapsing 10 seconds.PCR may find discontinuity hence, more calculation is needed at the point PCR base shifts.
From :http://stackoverflow.com/questions/6443615/pcr-based-seek-for-mpegtsfile
4)How to generate PTS[Presentation Timestamp] from PCR ?
PCR has 33+9 bits, the PTS 33 bits. The 33 bit-portion (called PCR_base) runs at 90kHz, as does the PTS. The remaining 9 bits are called PCR_ext and run at 27MHz.
there should be a time-offset between the PTSs of the multiplexed streams and the PCR, it's usually in the range of a few hundred ms, depending on the stream.
The respective decoder needs some time to decode the data and get it ready for presentation at the time given by the respective PTS, that's why the PTSs are always "ahead" of the PCR. ISO-13818 and some DVB specs give specifics about buffering and (de)multiplexing.
From: http://stackoverflow.com/questions/6199940/generate-pcr-from-pts
5)MPEG2 TS:
Transport Stream had been originally designed for broadcast. Later it was adapted for usage with digital video cameras, recorders and players by adding a 4-byte timecode (TC) to standard 188-byte packets, which resulted in a 192-byte packet.This is what is informally called M2TS stream.
It is used in Bluray disc and digital video cameras.
Timecode allows quick access to the any part of the stream either from a mediaplayer or from a non-linear video editing system.
6) SetTop Box:
i)local cable operators give cable connection that is DVB-C signal
ii)Tata sky or Airtel digital - we have to fix antenna to receive signal- this is called DVB-S (DVB-Satellite signal standard)
7)IPTV
Internet Protocol television (IPTV) is a system through which television services are delivered using the Internet protocol suite over a packet-switched network such as the Internet, instead of being delivered through traditional terrestrial, satellite signal, and cable television formats.
IPTV provides 3 main services:
i) Live TV-with or without interactivity related to the current TV show;
ii) time-shifted television: catch-up TV (replays a TV show that was broadcast hours or days ago), start-over TV (replays the current TV show from its beginning);
iii)video on demand (VOD): browse a catalog of videos, not related to TV programming
http://en.wikipedia.org/wiki/IPTV
8) SD or HD TV
High Definition (HD) is swiftly replacing Standard Definition (SD) when it comes to television broadcasts. HD has a high picture resolution of 1920x1080, with 2.07million+ pixels offering 5 times more detail than SD. It has a wide aspect ratio of 16:9 better suited for our eyes which have more horizontal than vertical span, as compared to an aspect ratio of 4:3 in SD.
9) what is Trick Play:
-Ability to receive broadcast television shows with VCR-like functions such as pause, rewind, fast forward, replay and skip, collectively known as 'trick play', all while rendering a live video stream.