[FFmpeg-devel] What is FFmpeg and what should it be

Tomas Härdin git at haerdin.se
Thu Aug 3 14:38:53 EEST 2023


sön 2023-07-30 klockan 15:04 +0200 skrev Nicolas George:
> Michael's code seems pretty self-contained to me.
> 
> And once again:
> 
> *** IT DOES NOT HAVE TO BE COMPLETE TO BE USEFUL. ***

I thought of another thing that bears mentioning: Michael has expressed
interest in implementing DAB. This carries with it two problems:

* Each DAB ensemble is an MPEG-TS stream
* There can be more than one ensemble on air

The first means mere demodulation is not enough - MPEG-TS must also be
implemented somehow. This likely means a dependency on lavf, assuming
we are not so insane as to have two independent MPEG-TS
implementations. There might also be an impedance mismatch due to lavf
pulling bytes from avio. There's no way to "push" bytes to a demuxer.
Synchronization may be an issue, though I admit I'm not 100% sure here.
Perhaps the device can pretend to be a protocol, entailing even tighter
coupling with lavf? Also I don't think registering protocols from
outside is allowed.

The second means that if such a DAB device is to work similar to the FM
demodulator handling multiple stations, then somehow multiple MPEG-TS
streams have to be dealt with. AFAIK lavd cannot do this. Merging MPEG-
TS streams might be tempting, but is not guaranteed to work I think.

I still don't understand why this must live in lavd rather than having
a separate program that does this and does it well. There is useful DSP
code in libav* that can then be motivated breaking out into a separate
library.

/Tomas


More information about the ffmpeg-devel mailing list