[FFmpeg-user] Extracting opus frames from webm/mkv

Dziku synmotopompy at gmail.com
Mon Aug 19 12:04:12 EEST 2019


Hi,

Thank you for your reply.

1. I've looked into image2 but I don't really see how it could be used to
extract audio, as none of the options in the documentation of image2
mention anything about audio. Are you sure you meant image2 and not some
other muxer/demuxer?
2. What's the overhead of converting audio only .webms with opus audio to
.ogg with opus? Is ffmpeg smart and simply copies opus packets from one
container format to the other or does it decode every opus packet and
reencode it when encapsulating it in ogg?

There is no raw opus, it always has to be encapsulated, FFmpeg allows you
> to write it to several containers.
>

In my use case, the "raw" opus packet gets encrypted, prepended with an RTP
header and sent as an UDP packet to the voice chat, therefore it's
desirable for me to extract it raw without any webm/ogg encapsulation.

Additionally, I've found a Javascript implementation of what I want, but
before I jump the gun and port the code to my programming language of
choice, I would like to make sure ffmpeg doesn't offer this functionality.
https://github.com/amishshah/prism-media/blob/master/src/opus/WebmDemuxer.js
https://github.com/amishshah/prism-media/blob/master/src/core/WebmBase.js

Best regards,
Adam Nowak


niedz., 18 sie 2019 o 21:20 Carl Eugen Hoyos <ceffmpeg at gmail.com>
napisaƂ(a):

> Am So., 18. Aug. 2019 um 21:12 Uhr schrieb Dziku <synmotopompy at gmail.com>:
>
> > I have webm files with only opus encoded audio track that I'm streaming
> > through a voice chat that requires opus encoded packets as input. So far
> > I've been using ffmpeg to convert the webms with opus audio to ogg
> > containers and then use my own code to extract opus packets from ogg,
> which
> > is obviously inefficient, because webms already contain the very same
> opus
> > packets.
> >
> > I would like to extract opus encoded packets so that I can directly serve
> > them to the voice chat. Is it possible to achieve with ffmpeg cli or any
> of
> > its C libraries?
>
> There is no raw opus, it always has to be encapsulated, FFmpeg allows you
> to write it to several containers.
> You can use the image2 muxer to write raw opus frames but I doubt that
> anything can read these frames.
>
> Carl Eugen
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list