Search code examples
ffmpegdebianffprobe

ffprobe for metadata - different output on Mac/Linux


I am trying to get the metadata from a live .m3u8 stream and I was testing this using Mac and it is working and I can get the data I need, but when putting it onto a Linux (Debian) box, it omits the part that I need, the command is :

ffprobe -show_data http://livestreamurl.com

Which on Mac, outputs the data I need:

Input #0, hls, from 'http://livestreamurl.com':
  Duration: N/A, bitrate: N/A
  Program 0
    Metadata:
      variant_bitrate : 130000
  Stream #0:0: Audio: aac (LC), 48000 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 130000
      title           : Crowded House - Locked Out

Specifically, it is the title part which is "Crowded House - Locked Out"

But when run on Linux, I get this:

Input #0, hls,applehttp, from 'http://livestreamurl.com':
  Duration: N/A, bitrate: N/A
  Program 0
    Metadata:
      variant_bitrate : 130000
    Stream #0:0: Audio: aac (LC), 48000 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 130000

The Mac version is 4.4 and the Debian version is 3.2.16 (but says it is the latest version available), could this be the issue?

Is there a way for me to get what I need using the Linux box, which is the title section of the metadata on the audio stream?

Thanks.


Solution

  • Your AAC stream most likely has ID3 tags inserted between frames, which are only parsed starting with ffmpeg 4.x.

    You can check the history of libavformat/aacdec.c.

    The relevant commit is: Parse ID3 tags between ADTS frames.

    Install or build a more recent version of ffmpeg on Linux.