transmux 0.6.0

MPEG-2 TS → CMAF/fMP4 remux: typed ISOBMFF boxes, a samples-in init/media segment builder, Annex B ↔ length-prefixed NAL, and HLS playlist generation (ISO/IEC 14496-12, RFC 8216).
Documentation
# Opus in ISOBMFF — Opus sample entry + dOps (#437)

Source: "Encapsulation of Opus in ISO Base Media File Format" (https://opus-codec.org/docs/opus_in_isobmff.html, free).
NOTE: unlike the Ogg ID header (RFC 7845), dOps fields are **big-endian** and there is **no** "OpusHead" magic.
Fixture: `fixtures/mp4/opus.mp4`; oracle dOps body `00 01 0138 0000bb80 0000 00` (v1, 1ch, preskip 0x0138, 48000, gain 0, family 0).

```c
class OpusSampleEntry() extends AudioSampleEntry('Opus') {
    OpusSpecificBox();     // channelcount = M+N; samplesize = 16; samplerate = 48000<<16
}
aligned(8) class OpusSpecificBox extends Box('dOps') {
    unsigned int(8)  Version;               // 0
    unsigned int(8)  OutputChannelCount;
    unsigned int(16) PreSkip;
    unsigned int(32) InputSampleRate;
    signed   int(16) OutputGain;            // 8.8 fixed-point
    unsigned int(8)  ChannelMappingFamily;
    if (ChannelMappingFamily != 0) {
        unsigned int(8) StreamCount;
        unsigned int(8) CoupledCount;
        unsigned int(8) ChannelMapping[OutputChannelCount];
    }
}
```