Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Michael Niedermayer <michael@niedermayer.cc>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] What is FFmpeg and what should it be
Date: Thu, 3 Aug 2023 19:45:05 +0200
Message-ID: <20230803174505.GN7802@pb2> (raw)
In-Reply-To: <61649ed7-f0d3-4f16-8e68-c8e258e96aaa@betaapp.fastmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 4790 bytes --]

On Wed, Aug 02, 2023 at 04:44:14PM +0200, Jean-Baptiste Kempf wrote:
> On Wed, 2 Aug 2023, at 16:20, Michael Niedermayer wrote:
> > There are multiple problems but the real problem is that
> > How many people discuss an SDR API ? (0)
> > How many people propose an SDR API ? (0)
> 
> Did you ask people to do that?
> 
> > How many people say what they want an SDR API to be able to do ? (0)
> 
> > Again we had 0 that is ZERO discussions about an SDR API.
> > where does it start ? a hw enumerate, a soapy device, a void *
> > representing a SDR data stream from something like soapy
> 
> Just enough to integrate into AVInputFormat and libavformat + libavdevice.
> Propose something and you will get more feedback

well, i did with all the patches i posted over the last 2 months
and what we now have in the libavradio repository (which equals these patches)

Theres libsoapy (100% external to us) which gives us device
enumeration, option enumeration and a path from a opened device to a
"IQ" stream of "radio frequency" samples
that is interfaced with by a AVInputFormat demuxer / input format and produces
AVPackets (raw audio and in the future for DAB, mp2 & AAC)

I have proposed 2 choices here
1. have this API in a separate library (libavradio)
2. have it in libavdevice like other input devices

The only comment i remember was that MPEG-TS would
cause problems (i think multiple people mentioned that)

The rest of this mail thus talks only about the MPEG-TS case because
no other issue with using the existing API was raised.


There are 2 things DAB and DVB both use mpeg ts

if i implement DAB fully without external libs, i can treat mpeg-ts
like the previous layers of modulations and error correction and
just remove it. (I probably will wakeup with a stake through my heart
surrounded by some broadcast guild) but theres no technical issue here

if OTOH i implement DAB through an external lib we get AAC frames
and never even see the MPEG-TS (that at least according to the
documentation i read). So these do teh same thing, they drop MPEG-TS
as soon as possible.
DAB thus has no MPEG-TS related issue

Now DVB (if i understand everything correctly)
the most popular SDR device AFAIK are the cheap RTLSDR sticks
they support DVB only thorugh a seperate hardware path and not in SDR
mode. The bandwidth in SDR mode is not big enough for DVB.
What this means is the majority of people will either use such a stick
in "DVB" mode for DVB which provides mpeg-ts from the kernel and no vissible "SDR"
or in "SDR" mode with no DVB so no question about mpeg-ts either

To really hit a problem with mpeg-ts we first needs a SDR device capable to
return the needed bandwidth (thats not the cheapest solution for the end user
so I question a bit how many users we have here) then we would need to
write a implementation of DVB demodulation (noone plans to implement that
AFAIK, i certainly dont plan to)
and then we would have a MPEG-TS stream with probably multiple programs
and multiple audio and video streams in it and that depending on
what parts are being demodulated.
We have other demuxers which handle MPEG-TS internally. So it can still
be done, if needed


To me the obvious solution here is just to not support DVB if people
want MPEG-TS from DVB
* It wont work with the cheap sticks
* It would be alot of work to implement the DVB demodulation
* It doesnt fit very nicely in the architecture and a architecture
  in which it fits will be messy and complex
* The kernel has a interface for it already AFAIK

and here we end, where we started, with my simple minded demuxer and input
device either in libavradio lib or in libavdevice&libavformat.
If someone wants to do DVB in the future she would have to change the
architecture or accept that no MPEG-TS will come out but theres no
"old API" that has to go through a deprecation cycle as its just the
AVInputFormat stuff.

Are people suggesting we design a new API around MPEG-TS even though noone
will implement anything that returns MPEG-TS and has no plans to implement that
even in the distant future ?

It seems a strange design goal to me and iam not even sure thats what people
ask for?

To me the input device API is covering everything you can do with this
If someone wants a different intermediate API, send a patch, i just dont
understand the issue that is supposed to fix.
It seems a bit like "hate" for the input device API, as in
"i want to use it but i sweared an oath not to use libavdevice APIs"

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2023-08-03 17:45 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-22 19:29 [FFmpeg-devel] [PATCH 1/6] configure: libavradio support Michael Niedermayer
2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 2/6] avutil/log: Add AV_CLASS_CATEGORY_RADIO_INPUT Michael Niedermayer
2023-07-22 20:30   ` Paul B Mahol
2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 3/6] avformat: add support for demuxers/inputs from avradio Michael Niedermayer
2023-07-22 20:35   ` Paul B Mahol
2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 4/6] avdevice/utils: add test for AV_CLASS_CATEGORY_RADIO_INPUT Michael Niedermayer
2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 5/6] fftools: avradio support Michael Niedermayer
2023-07-22 21:39   ` Lynne
2023-07-23 15:23     ` Michael Niedermayer
2023-07-23 18:49       ` Tomas Härdin
2023-07-23 19:01         ` James Almer
2023-07-23 22:56           ` Michael Niedermayer
2023-07-24  8:19             ` Nicolas George
2023-07-24 15:57               ` Michael Niedermayer
2023-07-24 22:30               ` Tomas Härdin
2023-07-25 14:17             ` Tomas Härdin
2023-07-24 20:19           ` Tomas Härdin
2023-07-25  9:37             ` Nicolas George
2023-07-26 10:37             ` Michael Niedermayer
2023-07-27 13:05               ` Tomas Härdin
2023-07-27 18:36                 ` Michael Niedermayer
2023-07-27 18:48                   ` Nicolas George
     [not found]                   ` <CC2992B9-B047-4724-8DE5-01C02CBE31FD@cosmin.at>
2023-08-01 19:51                     ` Cosmin Stejerean
2023-08-01 20:06                       ` Paul B Mahol
2023-08-02 12:46                         ` Michael Niedermayer
2023-08-02 13:00                           ` Paul B Mahol
2023-08-02 13:01                             ` Michael Niedermayer
2023-07-24  8:13         ` Nicolas George
2023-07-24 20:22           ` Tomas Härdin
2023-07-25  9:33             ` Nicolas George
2023-07-25  9:51               ` Kieran Kunhya
2023-07-25  9:56                 ` Nicolas George
2023-07-25 10:16                   ` Kieran Kunhya
2023-07-25 13:55                     ` Nicolas George
2023-07-25 14:37                       ` Kieran Kunhya
2023-07-27 17:56                         ` Nicolas George
2023-07-28 11:07                           ` Kieran Kunhya
2023-07-30 13:04                             ` [FFmpeg-devel] What is FFmpeg and what should it be Nicolas George
2023-07-30 17:07                               ` Andrey Turkin
2023-07-30 18:29                                 ` Kieran Kunhya
2023-07-30 18:54                                   ` Nicolas George
2023-08-01  7:48                                 ` Rémi Denis-Courmont
2023-07-31 13:56                               ` Tomas Härdin
2023-08-03 13:25                                 ` Nicolas George
2023-08-03 20:50                                   ` Tomas Härdin
2023-08-02  1:44                               ` Vittorio Giovara
2023-08-02 12:55                                 ` Michael Niedermayer
2023-08-02 12:59                                   ` Jean-Baptiste Kempf
2023-08-02 14:12                                     ` Brad Isbell
2023-08-02 14:19                                       ` Nicolas George
2023-08-02 14:26                                       ` Michael Niedermayer
2023-08-02 14:30                                         ` Nicolas George
     [not found]                                           ` <A3B35B92-8333-4637-B4AA-FA9D9750E784@cosmin.at>
2023-08-02 15:46                                             ` Cosmin Stejerean
2023-08-03 15:40                                               ` Michael Niedermayer
2023-08-02 14:20                                     ` Michael Niedermayer
2023-08-02 14:44                                       ` Jean-Baptiste Kempf
2023-08-03 17:45                                         ` Michael Niedermayer [this message]
2023-08-03 18:24                                           ` Kieran Kunhya
2023-08-03 19:25                                             ` Michael Niedermayer
2023-08-03 20:04                                               ` Kieran Kunhya
2023-08-04 17:09                                                 ` Michael Niedermayer
2023-08-04 17:35                                                   ` Nicolas George
2023-08-04 23:17                                                     ` Kieran Kunhya
2023-08-05 18:55                                         ` Michael Niedermayer
2023-08-05 19:17                                           ` Paul B Mahol
2023-08-05 23:32                                           ` Vittorio Giovara
2023-08-06  8:28                                             ` Tomas Härdin
2023-08-06 19:53                                             ` Michael Niedermayer
2023-08-07 15:39                                               ` Rémi Denis-Courmont
2023-08-08 15:22                                                 ` Michael Niedermayer
2023-08-08 15:37                                                   ` Paul B Mahol
2023-08-08 18:53                                                   ` Rémi Denis-Courmont
2023-08-09 15:59                                                     ` Michael Niedermayer
2023-08-09 16:24                                                       ` Paul B Mahol
2023-08-10 12:39                                                     ` Nicolas George
2023-08-10 14:58                                                       ` Vittorio Giovara
2023-08-12 17:12                                                         ` Michael Niedermayer
2023-08-10 15:01                                                       ` James Almer
2023-08-10 15:43                                                       ` Jean-Baptiste Kempf
2023-08-10 18:39                                                       ` Tomas Härdin
2023-08-03 11:38                               ` Tomas Härdin
2023-08-03 13:29                                 ` Nicolas George
2023-07-25 12:02                   ` [FFmpeg-devel] [PATCH 5/6] fftools: avradio support Tomas Härdin
2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 6/6] tools/uncoded_frame: " Michael Niedermayer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230803174505.GN7802@pb2 \
    --to=michael@niedermayer.cc \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git