[libav-bugs] [Bug 403] New: Some comments about standard compliant MPEG-TS

bugzilla-daemon at aruru.libav.org bugzilla-daemon at aruru.libav.org
Tue Dec 18 17:15:06 CET 2012


http://bugzilla.libav.org/show_bug.cgi?id=403

           Summary: Some comments about standard compliant MPEG-TS
           Product: Libav
           Version: git HEAD
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: Normal
         Component: libavformat
        AssignedTo: bugzilla at libav.org
        ReportedBy: kierank at ob-encoder.com


It is fair to say that most uses of lavf's MPEG-TS mux are for streaming to
portable devices (and in the future throughout the web). Apple uses hacked
out-of-spec MPEGTS files to reduce overhead and almost all other streaming
devices follow suit. At this point lavf for most (all?) streaming applications
of MPEG-TS works acceptably (though inefficiently). I have been told that
strictly compatible muxes break streaming in spite of passing all professional
analysis tools. It is also the case that MPEGTS would require a DTS/PTS that is
not the same as the user's input timestamps (DTS and PTS depends on VBV and all
other timestamps are shifted to compensate) - VFR + VBV/HRD is also very
complicated and only works in a few edge cases in AVC. MPEGTS also requires the
input is VBV encoded and appropriate information in the stream or via external
means to signal VBV parameters. However, most streaming applications aren't
fussed about strict VBV and most users are accustomed to think they can remux
any file to MPEG-TS, which isn't strictly allowed. It would be very time
consuming and tedious to rewrite the mux to pass both strict requirements for
professional uses and for streaming requirements, perhaps even two separate
codepaths.

The mux is in a strange state where it is acceptable for most uses because of
the heuristics streaming devices have. For UDP/RTP output of live encoded
MPEG-TS libavformat (or avconv/user applications?) would also need to manage an
encoder side buffer (i.e buffering one VBV) so that output packets can be
released smoothly.

-- 
Configure bugmail: http://bugzilla.libav.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the libav-bugs mailing list