Skip to content

Request: Encode MSE-compatible MPEG4 for low latency streaming #76

@forderud

Description

@forderud

Would it be possible to extend Media Foundation to allow direct encoding of Media Source Extensions (MSE) compatible fragmented MPEG4 for low latency video streaming to web browsers?

This would likely require the following changes to MFTranscodeContainerType_FMPEG4:

  • Modify Track Fragment Header Box (tfhd) by removing the base_data_offset parameter and set default-base-is-moof flag.
  • Add missing Track Fragment Decode Time (tfdt) with baseMediaDecodeTime parameter.
  • Modify Track fragment Run box (trun) by adjusting the data_offset parameter.

Background

  • Original StackOverflow question: MFCreateFMPEG4MediaSink does not generate MSE-compatible MP4.
  • Sample implementation: The AppWebStream project is already editing the bitstream generated by MFCreateFMPEG4MediaSink with MFTranscodeContainerType_FMPEG4 and MF_LOW_LATENCY to make it MSE compatible. It would be nice to avoid having to edit the bitstream in the first place.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions