Skip to main content

[BD-J-DEV] Re: Video CODECs and encapsulation formating

No replies

Re-posting a private e-mail, since this could
be of more general interest...

> I am using sonic scenarist to make a BD disc with just one video file on it.
> The video is H.264 format. We are not re-compressing and the Scenarist
> maxing process accepts the video (its 29.97 fps, and stuff). I have made two
> discs, disc A is recorded entirely with scenarist. Disc B is the entire
> structure of disc A made by Scenarist but I replace the one file in STREAMS
> directory with the original H.264 file (of coarse I named it same as in disc
> A). In BD Players and PC software players both discs startup but the video
> is played only on disc A. The same PC software can play the individual file
> on Disc B.
> So, if my original file is fully compliant with BDMV requirements (in H.264)
> and I do not re-compress it then what does muxing do to the video so that it
> plays only after muxing? Thanks.

Sure, but please feel free to put this kind of query on
the discussion list, too. I'll make this anonymous and

There are two aspects of video files that often get
lumped together as one in casual language: The video
encoding produced by the CODEC (that is, COder/DECoder),
and the encapsulation of the A/V format. So, when you
say your video is "H.264 format," I would guess that
what you have would be more precisely described as a
video encoded with the H.264 CODEC, and stored in some
encapsulation format (probably the encapsulation file
format specified as a part of the MPEG-4 standard, which
is called "MP4" or more precisely, "MPEG-4 encapsulation".

If my guess about your encapsulation is right, then this
video file does not conform to the BD specification.
The video encoding is fine, but the encapsulation is one
that BD players are not required to support.

What Scenarist is doing is injesting your video in whatever
encapsulation it's in, and transcoding it to the proper
encapsulation. In BD, streaming assets are encapsulated in an
"MPEG-2 transport stream," which is stored on the disc with a
.m2ts suffix. It's called "MPEG-2" because it's
specified as part of the MPEG-2 specification, but note: the
encapsulation format has nothing to do with the CODEC. An
MPEG-2 transport stream can contain an H.264-encoded A/V stream,
or one encoded with VC-1.

The process of putting video assets into an encapsulation
format is sometimes called multiplexing (or "muxing"), because
as a part of that process you can multiplex together several
different streams into one transport stream file. For example,
you can multiplex together primary video, secondary video,
subtitles in various languages, different audio streams, etc.
By the way, each of these streams is specified by it's Program ID,
which is usually called it "PID". So, when you switch between
different streams (e.g. from English to Spanish audio), what
you're doing at the hardware level is telling the MPEG section
filter to select a different PID from the MPEG transport stream
when it de-multiplexes subtitle data.



To unsubscribe, e-mail:
For additional commands, e-mail: