2013-06-10 5 views
7

Ich kodiere einige Bilder in ein h264 Video in einem mp4 Container. Ich benutze im Wesentlichen das ffmpeg-Beispiel muxing.c. Die Sache ist Ich versuche, einige Metadaten im mp4 Container wie Künstler zu setzen, Titel, etc ...Wie setze ich Header-Metadaten für codiertes Video?

Ich dachte, die folgende Verwendung funktionieren würde, aber es hat nicht:

AVDictionary *opts = NULL; 
av_dict_set(&opts, "title", "Super Lucky Dude", 0); 
av_dict_set(&opts, "author", "Jacky Chan", 0); 
av_dict_set(&opts, "album", "Chinese Movie", 0); 
av_dict_set(&opts, "year", "05/10/2013", 0); 
av_dict_set(&opts, "comment", "This video was created using example app.", 0); 
av_dict_set(&opts, "genre", "Action", 0); 

// Write the stream header, if any. 
ret = avformat_write_header(oc, &opts); 

Nach Das gesamte Video wird erstellt. Ich sehe keine Metadaten in der Videodatei. Irgendwelche Hinweise wie man das eigentlich richtig macht?

+0

Wie überwachen Sie die Metadaten? Hexeditor? iTunes-Eigenschaften-Dialogfeld? –

+0

Ich benutze VLC und auch Quicktime. Ich habe das Problem gelöst. Bitte sehen Sie meine Antwort unten. – Jona

Antwort

6

Die Lösung war eigentlich von AVFormatContext die metadata Variable zu verwenden, anstatt meine eigenen AVDictionary schaffen und es die avformat_write_header function vorbei.

+0

Entschuldigung für die Verwendung des alten Themas, aber ich habe ein ähnliches Problem beim Versuch, einen Video-Stream Metadaten zu setzen. Hätten Sie einige Hinweise, wie Sie das erreichen können? Ich habe bereits eine Frage zu SO erstellt, hier ist der Link http://stackoverflow.com/questions/29973423/setting-video-stream-metadata-using-ffmpeg –

Verwandte Themen