View Full Version : MPEG-4 streamable in *.mp4?
Elias
7th March 2005, 14:05
I've always been under the impression that XviD/DivX/3ivX/ffdshow aren't streamable because they're in the *.avi container (because *.avi doesn't support streaming), but in the *.mp4 container, that's different, right? Lately, I've been confused about this whole ISMA compliance thing. What's it for anyway? Is a full MPEG-4 compliant file without ISMA compliance not streamable? And what about hinting, does it make the mp4 more streaming friendly? I don't get it, I'd like some more technical details if possible. Thanks in advance.
bond
7th March 2005, 14:42
1) first of all i am not really the streaming guy :D
2) .mp4 was designed with having the goal of streamability in mind, so yeah, its streamable
3) isma only defines some things on how a .mp4 should look like, like having a BIFS/OD stream, using specific trackids (101 for audio, 201 for video)... you dont need to be isma compliant if you want to stream nor for any other thing, it just cant harm
4) hinting aims at streaming, but i dunno lots of details what it really does...
Elias
7th March 2005, 14:46
Thanks a lot bond, this really cleared some things up for me :D About hinting, is the Quicktime hinting like, MPEG-4 standard universal? What I mean about that is, does it make the exact same hints as any other MPEG-4 tool like MP4Box etc? Or is it just hinting for the Quicktime server?
bond
7th March 2005, 14:59
Originally posted by Elias
About hinting, is the Quicktime hinting like, MPEG-4 standard universal? What I mean about that is, does it make the exact same hints as any other MPEG-4 tool like MP4Box etc?i think its the same for all
Dmitry Vergheles
7th March 2005, 15:13
Hi Elias,
As far as I know MPEG-4 standard provides streaming abilities by means of so called FlexMux approach. But the files, with .mp4 extentions are supposed to be MPEG-4 File format and therefore they are not streaming ones.
5.2.1. Transport
As stated in Section 4.4, MPEG-4 Systems does not specify or standardize a transport protocol. In fact, it is designed to be transport-agnostic. However, in order to be able to utilize the existing transport infrastructures (e.g. MPEG-2 transport or IP networks), MPEG-4 defines an abstraction of the delivery layer with specific mappings of MPEG-4 content on existing transport mechanisms [7]. However, there are two exceptions in terms of the abstraction of the delivery layer: the MPEG-4 File Format and the FlexMux tool.
There are several available file formats for storing, streaming, and authoring multimedia content. Among the ones most used presently are Microsoft’s ASF (Advanced Streaming Format), Apple’s QuickTime, as well as RealNetworks’ file format (RMFF). The ASF and QuickTime formats were proposed to MPEG-4 in response to a call for proposals on file format technology. QuickTime has been selected as the starting point for the collaborative development of the MPEG-4 file format (referred to as ‘MP4’) [3]. The RMFF format has several similarities with QuickTime (in terms of object tagging using four-character strings and the way indexing information is provided). MP4 inherits from QuickTime key technical features such as the ability to stream content from multiple sources (local or through a network) with interactivity and known rendering quality. In addition to these key features, the MP4 format adds support for MPEG-4 specific features. In particular, MP4 inherits from MPEG-4 all the new and compelling audio, video and systems multimedia content.
The MPEG-4 proposal for light-weight multiplexing (FlexMux) addresses some MPEG-4 specific needs as described in Section 4.4. The same kinds of requirements have recently been raised within the Internet Engineering Task Force (IETF) with regards to delivery of multimedia content over IP networks. With the increasing number of streams resident in a single multimedia program, with possibly low network bandwidths and unpredictable temporal network behavior, the overhead incurred by the use of RTP streams and their management in the receiving terminals is becoming considerable. IETF is therefore currently investigating a generic multiplexing solution, that has requirements similar to that of the MPEG-4 FlexMux. We expect that, with the close collaboration between IETF and MPEG-4, a consistent solution will be developed for the transport of MPEG-4 content over IP networks.
5.2.2. Streaming Framework
With the specifications of the Object Description framework and the Sync Layer, MPEG-4 Systems provides a consistent and efficient framework for the description of content and the means for its synchronized presentation at client terminals. At this juncture, this framework, with its flexibility and dynamics, does not have any equivalents in the standards arena. A parallel could be drawn with the combination of RTP and SDP (Session Description Protocol); however, such a solution is Internet-specific and cannot be applied directly on other systems like digital cable or DVDs (Digital Video Disc).
(c)Tutorial Issue on the MPEG-4 Standard
Elias
7th March 2005, 15:19
"5.2.1. Transport
As stated in Section 4.4, MPEG-4 Systems does not specify or standardize a transport protocol. In fact, it is designed to be transport-agnostic. However, in order to be able to utilize the existing transport infrastructures (e.g. MPEG-2 transport or IP networks), MPEG-4 defines an abstraction of the delivery layer with specific mappings of MPEG-4 content on existing transport mechanisms [7]. However, there are two exceptions in terms of the abstraction of the delivery layer: the MPEG-4 File Format and the FlexMux tool.
There are several available file formats for storing, streaming, and authoring multimedia content. Among the ones most used presently are Microsoft’s ASF (Advanced Streaming Format), Apple’s QuickTime, as well as RealNetworks’ file format (RMFF). The ASF and QuickTime formats were proposed to MPEG-4 in response to a call for proposals on file format technology. QuickTime has been selected as the starting point for the collaborative development of the MPEG-4 file format (referred to as ‘MP4’) [3]. The RMFF format has several similarities with QuickTime (in terms of object tagging using four-character strings and the way indexing information is provided). MP4 inherits from QuickTime key technical features such as the ability to stream content from multiple sources (local or through a network) with interactivity and known rendering quality. In addition to these key features, the MP4 format adds support for MPEG-4 specific features. In particular, MP4 inherits from MPEG-4 all the new and compelling audio, video and systems multimedia content.
The MPEG-4 proposal for light-weight multiplexing (FlexMux) addresses some MPEG-4 specific needs as described in Section 4.4. The same kinds of requirements have recently been raised within the Internet Engineering Task Force (IETF) with regards to delivery of multimedia content over IP networks. With the increasing number of streams resident in a single multimedia program, with possibly low network bandwidths and unpredictable temporal network behavior, the overhead incurred by the use of RTP streams and their management in the receiving terminals is becoming considerable. IETF is therefore currently investigating a generic multiplexing solution, that has requirements similar to that of the MPEG-4 FlexMux. We expect that, with the close collaboration between IETF and MPEG-4, a consistent solution will be developed for the transport of MPEG-4 content over IP networks.
5.2.2. Streaming Framework
With the specifications of the Object Description framework and the Sync Layer, MPEG-4 Systems provides a consistent and efficient framework for the description of content and the means for its synchronized presentation at client terminals. At this juncture, this framework, with its flexibility and dynamics, does not have any equivalents in the standards arena. A parallel could be drawn with the combination of RTP and SDP (Session Description Protocol); however, such a solution is Internet-specific and cannot be applied directly on other systems like digital cable or DVDs (Digital Video Disc)."
In short terms, like a summary, what does all this mean? An *.mp4 file isn't streamable unless optimized for streaming?
Dmitry Vergheles
7th March 2005, 15:23
short terms, like a summary, what does all this mean? An *.mp4 file isn't streamable unless optimized for streaming?
I guess.
Lupus_aka_Den
15th March 2005, 10:25
Originally posted by Elias
In short terms, like a summary, what does all this mean? An *.mp4 file isn't streamable unless optimized for streaming?
If you want make *.mp4 file a bit streamable you should put "moov" atom at the beginning of file. As i know *.mp4 file (ISO 14496-14 and 14496-12) isn't fully streamable.
Dmitry Vergheles
15th March 2005, 11:09
If you want make *.mp4 file a bit streamable you should put "moov" atom at the beginning of file
Do you mean that after adding "moov" atom at the file begining it will be streamable?
Elias
15th March 2005, 11:20
Originally posted by Lupus_aka_Den
If you want make *.mp4 file a bit streamable you should put "moov" atom at the beginning of file. As i know *.mp4 file (ISO 14496-14 and 14496-12) isn't fully streamable. What moov atom? Give me an example of how.
Lupus_aka_Den
23rd March 2005, 10:50
Originally posted by Dmitry Vergheles
Do you mean that after adding "moov" atom at the file begining it will be streamable?
Then you put "moov" atom at the begining of file you can parse this atom and build sample table (index). And then you can successfully work with media data (audio, video etc.)
Lupus_aka_Den
23rd March 2005, 10:52
Originally posted by Elias
What moov atom? Give me an example of how.
"moov" atom describe in ISO_IEC_14496-12(ISO base media file format)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.