[Libav-user] Live update of song name in audio livestream
stef at stef.link
stef at stef.link
Fri Oct 15 13:58:15 EEST 2021
Hi,
I use libav to live stream audio. Is it possible to put live metadata
updates in that stream?
For example, if I listen to some radio station's live stream with VLC
player, I see the name and artist of the song currently playing. This
information updates instantly when the song is changed. I want
listeners of my audio stream to similarly see a text of my choosing that
can be changed at any time during the stream. I know this is
theoretically possible, because the streaming tool called 'butt' [0] can
do this.
My application generates audio data which I encode with libavcodec (with
an encoder of the user's choosing). That audio data is then sent to an
Icecast server using libavformat.
Icecast expects metadata to be embedded into the stream [1] for
Icecast-supported formats [2]. Does this mean that the encoder should
be responsible for sending along the metadata? If so, how would I
achieve this with FFmpeg?
Thanks in advance,
Stef Gijsberts
[0]: https://danielnoethen.de/butt/
[1]: "Metadata is expected to be embedded into the stream. For legacy
formats (MP3, AAC...) metadata can't be included in the stream, so it
has to be updated out of band using the metadata update endpoint in
Icecast admin to do so."
https://gist.github.com/ePirat/adc3b8ba00d85b7e3870#gistcomment-2111195
[2]: "It supports Ogg (Vorbis, Theora), Opus, FLAC and WebM (VP8/VP9)"
https://icecast.org/faq/
More information about the Libav-user
mailing list