- 31 Jul, 2015 40 commits
-
-
Modify the mp4 generator to inspect audio tracks and generate a working initialization segment. Hook the audio init segment up to the mp4 transmuxing test page.
David LaPalomento committed -
Use QUnit's string diff to highlight potential incompatibilities between the transmuxed and expected output.
David LaPalomento committed -
Create a stream that unpacks individual AAC frames into events when piped ADTS data from an Elementary Stream.
David LaPalomento committed -
Include a simple picture of what containers do. Add diagrams that describe the logical structure and object hierarchy of MPEG2-TS.
David LaPalomento committed -
Create PNG versions of the packet hierarchy and logical MPEG2-TS structure.
David LaPalomento committed -
Put together some basic information about how the project works internally and domain info necessary for understanding it.
David LaPalomento committed -
Replace copy-pasted page title with something that reflects the actual MSE demo page.
David LaPalomento committed -
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
-