[FFmpeg-user] Help with metadata writing (mp4)... what's possible?

Karen Norton nortok00 at gmail.com
Thu Dec 6 23:39:48 EET 2018


On Thu, Dec 6, 2018 at 3:19 PM Karen Norton <nortok00 at gmail.com> wrote:

> On Thu, Dec 6, 2018 at 2:58 PM Gyan Doshi <gyandoshi at gmail.com> wrote:
>
>> On 07-12-2018 12:49 AM, Karen Norton wrote:
>> >
>> > Just a few more questions:
>> >
>> > 1. Where do I find your SU answer that you mention? Is there a link to
>> see
>> > it?
>>
>> It's the SuperUser page you linked to :)
>>
>> > 2. To make sure I understand using that -movflags use_metadata_tags does
>> > this mean my command line would now be:
>> > ffmpeg -i input.mp4 -metadata media_type="10" -metadata show="Law &
>> Order"
>> > -metadata season_number="1" -metadata title="Prescription For Death"
>> > -metadata episode_id="66209" -metadata episode_sort="1" -metadata:s:a:0
>> > language=eng -movflags use_metadata_tags -metadata
>> episode_number="Episode
>> > 1" -c:v libx264 --c:a aac output.mp4
>>
>> Looks right.
>>
>> > 3. Will custom tags display in ffprobe?
>>
>> Yes. They do, for me.
>>
>> > 4. Can episode_sort be changed from Int8 to general number that allows
>> more
>> > than 255 or maybe alphanumeric? As mentioned I can't use this for Law &
>> > Order Special Victims Unit and Law & Order because they are well over
>> 255.
>>
>> Here's the weird thing. The muxer does write 32 bits. But the demuxer
>> treats the high 24 bits as padding and ignores it. In effect, ffmpeg
>> will show    (stored-value % 256)
>>
>> Mediainfo does the same, which would indicate that this is the iTunes
>> spec. However, I find other sources which treat it as full 32-bits. Let
>> me look into it. But it can't be a string.
>>
>> Gyan
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>
>
> LOL... I didn't realize SU meant that superuser page. Haha! I think it
> would be very helpful if you updated that page because it comes up a fair
> bit in search results. :-)
>
> That's too bad that episode_sort can't be changed to a string but if it
> can do a full 32 bits that might resolve the issue.
>
> I just tested adding a custom tag and it worked. It also shows in ffprobe.
> Yeah!! So this worked for me:
> ffmpeg -i input.mp4 -metadata media_type="10" -metadata title="Law &
> Order" -metadata show="Prescription For Death" -metadata season_number="1"
> -metadata episode_id="66209" -metadata episode_sort="1" -metadata:s:a:0
> language=eng -movflags use_metadata_tags -metadata
> episode_number="Episode 1" -c:v libx264 -c:a aac output.mp4
>
> ffprobe shows in the Format section:
> [FORMAT]
> filename=testoutput.mp4
> nb_streams=2
> nb_programs=0
> format_name=mov,mp4,m4a,3gp,3g2,mj2
> format_long_name=QuickTime / MOV
> start_time=0.000000
> duration=3254.063000
> size=213344376
> bit_rate=524499
> probe_score=100
> TAG:minor_version=512
> TAG:major_brand=isom
> TAG:compatible_brands=isomiso2avc1mp41
> TAG:episode_number=Episode 1
> TAG:media_type=10
> TAG:title=Law & Order
> TAG:show=Prescription For Death
> TAG:season_number=1
> TAG:episode_id=66209
> TAG:episode_sort=1
> TAG:encoder=Lavf58.13.100
> [/FORMAT]
>
> This is fantastic!! No metadata limitations. :-D :-D
>
> Is this all in the official ffmpeg documentation? As mentioned I couldn't
> find anything and I searched through all of the references for metadata but
> it's possible I missed it.
>
> At least this answers my questions and solves my problem.
>
> Thanks again Gyan!!
>
> Cheers.
>
>
> Karen
>
>

------------------
I thought I would provide an update to this.

Everything worked great adding the custom metadata and it shows up fine in
ffprobe however all of the metadata stopped displaying in mediainfo, vlc,
etc. I expected the custom tags not to show but I'm a bit perplexed as to
why the existing tags ("title", etc.) stopped displaying. It's as if the
metadata was never added even though ffprobe displays it fine. Very weird
and a setback. It looks like I can't use custom tags after all.

Cheers.

K


More information about the ffmpeg-user mailing list