[FFmpeg-devel] How to implement pcap ffmpeg format?

Zhao Zhili quinkblack at foxmail.com
Wed Feb 22 19:59:52 EET 2023


> 在 2023年2月23日,01:22,sonntex <sonntex at gmail.com> 写道:
> 
> Are you sure that vp8 and vp9 can be put to mpeg-ts?

You missed the point. Use any (streaming) container which supports the codec, e.g., webm.

Please don’t top post.

> 
> On Wed, Feb 22, 2023 at 3:25 PM Zhao Zhili <quinkblack at foxmail.com> wrote:
> 
>>> -----Original Message-----
>>> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
>> sonntex
>>> Sent: 2023年2月22日 21:59
>>> To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
>>> Subject: Re: [FFmpeg-devel] How to implement pcap ffmpeg format?
>>> 
>>> So, if I have an rtp stream inside my application and want to save it
>>> somehow to a playable media container, I have to wrap this stream to
>>> something that could be transferred by pipe to ffmpeg, for instance to
>> ivf
>>> or to h264 byte stream. The first format requires deep codec parsing to
>> 
>> Why not remux RTP to something like TS at the first replace, instead of
>> deal with pcap?
>> 
>>> extract at least width and height, perhaps other properties. Seems easy
>> but
>>> non-unified. Another approach is to pass the stream to a local udp
>> socket,
>>> simultaneously execute and control the ffmpeg process. It could lead to
>>> data loss and requires socket coding in such a simple application.
>>> 
>>> I understand why ffmpeg developers don't want to include pcap support to
>>> ffmpeg but it could be implemented as an external code by somebody else
>> for
>>> whom it seems to be useful. I can't really find any blockers to do that
>>> except that all the code inside rtpdec is encapsulated in its *.c file
>> and
>>> is not accessible from a hypothetical new pcap format. What I found is
>> that
>>> udp.c derives url protocol interface and does the same as pcap format
>>> should do - extract rtp packets from a source and pass it further to
>>> rtpdec. The problem is that pcap format is a format, not a protocol,
>> which
>>> reads data from ffmpeg file protocol. And the question was how to build
>> the
>>> chain of <file protocol> -> <input pcap format> -> <input rtp format>?
>>> 
>>> On Wed, Feb 22, 2023 at 12:54 PM Rémi Denis-Courmont <remi at remlab.net>
>>> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> I agree with Kieran that this doesn't look like it belongs in FFmpeg
>> or in
>>>> any media framework. In fact, Wireshark has some support for extracting
>>>> media from RTP, and that seems like the right place for it.
>>>> 
>>>> With that said, you can't realistically pass RTP packets on the
>> standard
>>>> input. RTP is datagram-based. Packet boundaries are relevant; it can't
>> go
>>>> over a pipe. Unless you use a Unix datagram socket as standard input,
>> but
>>>> that would be very weird.
>>>> 
>>>> Besides, there may be multiple streams on different ports, with
>> different
>>>> payload maps, and the receiver needs to know which port which packet
>> came
>>>> on.
>>>> 
>>>> Note: Unfortunately, earlier attempts to standardise a container for
>>>> RTP/RTCP packets have failed.
>>>> _______________________________________________
>>>> ffmpeg-devel mailing list
>>>> ffmpeg-devel at ffmpeg.org
>>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>> 
>>>> To unsubscribe, visit link above, or email
>>>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>>>> 
>>> _______________________________________________
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel at ffmpeg.org
>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>> 
>>> To unsubscribe, visit link above, or email
>>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>> 
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> 
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-devel mailing list