[FFmpeg-devel] [PATCH 5/5] avformat: add sdr support

Michael Niedermayer michael at niedermayer.cc
Sat Jun 17 15:48:42 EEST 2023


Hi

On Sat, Jun 17, 2023 at 01:08:45PM +0200, Paul B Mahol wrote:
[...]

> But the biggest issue is your claim of demultiplexing, which your code does
> not do, its done by called library.

libsoapy is used just as a thin and common interface to the SDR hardware

If you comment all uses of libsoapy out and use a file, it will still work.
To be clear, you can dump a raw file with the "-dumpurl" option and
lets say dump the radio spectrum from 6mhz to 16mhz (thats 40mbyte per second)
and sdrfile with no libsoapy (if you comment that out) will play all AM radio
stations from that range from just that file. That might be 10 or many more
from the single input stream.
Neither the SDR hardware nor libsoapy have split the radio stations in that
40mbyte/sec stream. Its basically just raw data from the hardware analog digital
converter(s).

The way SDR HW works is very simple. It has an antena an amplifer and at that
point it might have 1khz to 6ghz of spectrum.
that is then run through a mixer or 2 to shift the part of the spectrum one
is interested in, into the lower frequencies (where its easier to work with)
and that is then run through a low pass filter and 1 or 2 analog digital
converters and their output goes over your favorte USB cable into sdrdemux

that time domain signal that sdrdemux/sdrfile then gets is then analyzed in
sdrdemux to find all radio stations and then depending on how its configured
it will demodulate one or all.


> 
> The correct place for this code is in libavfilter. Where user could select

Besides that sematically its the wrong place (as i said in my previous reply)
libavfilter is technically wrong too

sdrdemux for DAB will return a AVStream with digital compressed AAC
sdrdemux for DVB will return a AVStream with digital compressed H.264 or MPEG2 video

AVFilter has no support for digital compressed output.

In fact really what sdrdemux will output is quite similar to what a matroska demuxer
would, its a bunch of compressed and uncompressed streams, video and audio.
That does not fit in avfilter.
And you dont want it hacked into libavfilter either.
One would want to use the AAC and h.264 streams losslessly, maybe store them in
a matroska file but avfilter can only handle decompressed audio and video.

Thank you for your comments!

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are best at talking, realize last or never when they are wrong.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20230617/b667cf86/attachment.sig>


More information about the ffmpeg-devel mailing list