[FFmpeg-user] Giving a title to an audio stream

Peter van den Houten petervdh at gmail.com
Sat Aug 8 21:43:45 EEST 2020


On 08/08/2020 17:35, PPRJ01 wrote:
> Thank you Peter, but (in my understanding) the following syntax is right (at least under Windows) :
> 
> ffmpeg -i INPUT.mp4 -c copy -metadata:s:a:0 "title=5.1" OUTPUT.mp4
> 
> For 3 reasons :
> 1- the ffmpeg stderr output displays "title : 5.1", with no warning, because it parsed it correctly and wrote it correctly "somewhere".
> 2- VLC software does retrieve the audio title correctly
> 3- exiftool software does retrieve the audio title correctly too
> 
> I have observed too that -metadata:s:a:0 "language=fre" is correctly written by ffmpeg and correctly retrieved by ffprobe in its TAG section.
> 
> Therefore I repeat my question to All : why ffprobe does not retrieve the audio and subtitle stream titles while VLC and exiftool do it properly?
> 
> Is this a designed behavior ?
> 
> rgds
> 
> Pascal
> _______________________________________________
> 
> On 08/08/2020 13:21, PPRJ01 wrote:
>> Hello All,
>>
>> I don't understand how ffmpeg/ffprobe manage some metadata of audio streams.
>>
>> Let's take a simple example :
>>
>> ffmpeg -i INPUT.mp4 -c copy -metadata:s:a:0 "title=5.1" OUTPUT.mp4
>>
>> The result is :
>> 1- ffprobe is not able to retrieve the audio title of the resulting file, whatever are the options used (I don't know if there are undocumented options)
>> 2- VLC does retrieve the audio title correctly
>> 3- exiftool does retrieve the audio title too
>>
>> I tried to do something similar with a subtitle stream and I had the same result.
>>
>> I am not a developper. Therefore I cannot read the source code. Maybe ffmpeg stores this metadata in a place where ffprobe is not able to retrieve it.
>>
>> Does somebody know if this is a normal behavior ?
>>
>> Rgds
>>
>> Pascal
> I have found in recent versions that FFmpeg is ignoring certain flags in metadata commands (especially subtitles). In any event, your quotes are in the wrong place; try:
> 
> -metadata:s:a:0 title="5.1" -metadata:s:a:0 language=eng -disposition:a:0 default
> 
> ("default" means display, "none" means suppress)
> 
> --
> PJ
> 
As I mentioned above, FFmpeg started ignoring metadata flags in recent versions, this could also be related to your situation.

As you pointed out, the "language" value is correctly parsed, as is the "title" value. 

However, if one wishes to suppress the metadata, I can confirm that the "none" (or 0) value for video/audio/subtitle in the example below, is now ignored and the metadata is present in the output. This worked correctly in past versions but I can't recall when the change occurred.

-metadata:s:v:0 title="video" -metadata:s:v:0 language=eng -disposition:v:0 none \
-metadata:s:a:0 title="audio" -metadata:s:a:0 language=eng -disposition:a:0 none \
-metadata:s:s:0 title="subtitle" -metadata:s:s:0 language=eng -disposition:s:s:0 none

--
PJ


More information about the ffmpeg-user mailing list