- 31 Jul, 2015 40 commits
-
-
Try to be a bit more descriptive about the purpose and function of individual parts of the transmux pipeline. Prefix the MPEG-2 Transport Stream specific streams with "transport" to indicate their purpose unpacking the TS container. Rename ProgramStream to ElementaryStream so it's less likely to be confused with the MPEG-2 Program Stream container format, instead of the underlying Program Elementary Stream that it's actually associated with. Add more explanatory comments.
David LaPalomento committed -
Profiling showed that trigger was consistently the longest running method during transmuxing. Inline the common case of passing a single argument to avoid slicing the arguments object. Allow grunt-contrib-connect to respond to external requests for easier demoing of mse-demo.html.
David LaPalomento committed -
Create a page that shows the media source extensions-compatible transmuxing process in an actual video element. Only tested in Chrome.
David LaPalomento committed -
Scale sample durations so to match the timescales specified elsewhere in the media segment. Recreate Uint8Arrays for testing so that equality tests pass in phantomjs. Phantom apparently counts typed arrays with different byteOffsets as not equal.
David LaPalomento committed -
Fragmented MP4s expected H264 data in mdats to a sequence of NAL units preceded by their length. MPEG2-TS streams transmit H264 data using start codes to signal the beginning of aNAL. When parsing NALs to build the sample table, reformat them to remove start codes and add length fields. Pulled the video-related program stream parsing into its own stream object because Transmuxer was getting too busy.
David LaPalomento committed -
Look into the contents of mdats and parse out the contained NAL unit types.
David LaPalomento committed -
Write up some basic reminders of valid ways to address samples in a fragmented MP4 when using movie-fragment-relative addressing.
David LaPalomento committed -
-
Working examples of segmented mp4s have included an sdtp box, even though it's duplicative of information in the trun box. It's easy to generate however, so add it to the inspector and generator, and update the transmuxer tests to expect sane output.
David LaPalomento committed -
According to the byte stream format registry, a media segment should contain at least one track fragment decode timestamp box.
David LaPalomento committed -
Parse and generate the sample flags fields. Detect key frames based on NAL unit type. Pass along pts and dts during the parsing process.
David LaPalomento committed -
Output real tfhd info. Prepare trun to accept sample information-- this still needs to be generated properly by the transmuxer.
David LaPalomento committed -
Parse and pass along additional track info from the sequence parameter set.
David LaPalomento committed -
The flags for a tkhd should be the default value of seven (track_enabled, track_in_movie, track_in_preview).
David LaPalomento committed -
Translate compatible brand byte sequences into their string equivalents for ftyp and styp boxes.
David LaPalomento committed -
Add in a parser to unpack NAL byte streams. Hook up the old exponential Golomb decoder and parse media metadata out of the first sequence parameter set. Add more checks to test on the example segment transformation.
David LaPalomento committed -
Invoke the transmuxer on muxer/mp4.html and display the results of inspecting the output.
David LaPalomento committed -
Capture the number of elementary streams in a transport stream program and map those to mp4 tracks in the init segment. Fix up some examples and update MSE documentation.
David LaPalomento committed -
Allow sequence numbers to be passed in during moof generation. Hook up the transmuxer to specify increasing sequence numbers as media segments are built.
David LaPalomento committed -
Create a helper method to build mdat boxes. Generate an empty moof and a real mdat when a NAL unit is parsed.
David LaPalomento committed -
-
-
-
-
Move dependencies into the right order. Stub out some end-to-end transmuxer tests.
David LaPalomento committed -
Add a program stream parser that aggregates program stream packets and re-emits them when the entire payload is available. Fix the test PES value to accurately use stuffing bytes. Update mp4 muxer page to exercise the TS parsing infrastructure.
David LaPalomento committed -
-
-
-
Create example binary data that is a valid Media Segment and does not produce decode errors when coupled with an appropriate media segment. Add some free-form notes from media source extensions research so far. Update the testing sandbox player.
David LaPalomento committed -
Parse out a track fragment decode time box. According to the Media Source byte stream format spec, at least one tfdt is required per media segment.
David LaPalomento committed -
-
-
-
-
-