[Libav-user] Set encoded video metadata [avformat]

Edson Menegatti edson at ckl.io
Thu Apr 30 14:53:36 CEST 2015

Hello everyone,

I'm using JavaCV, a wrapper for FFmpeg libraries, to encode camera frame
into a video in Android. I'm using the FFmpegFrameRecorder (
class to perform the encoding process. The methods of interest are
startUnsafe() and record(IplImage image).

This works perfectly but I ran into an issue when trying to set the video
stream metadata. The goal would be to replicate the following command line:

    ffmpeg -i input.mp4 -metadata:s:v:0 rotate="90" output.mp4

But this code snippet fails to do so:

    if ((video_st = avformat_new_stream(oc, video_codec)) != null) {
             video_c = video_st.codec();
            AVDictionary avDictionary = new AVDictionary(null);
            av_dict_set(avDictionary, "rotate", "90", 0);
    avformat_write_header(oc, (PointerPointer) null);

This still encodes the video correctly, but the added metadata never
appears on ffprobe. Have anyone already experienced something like this?
Any idea on what could be the issue?

PS: the ffprobe output can be seen in this GitHub issue (

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20150430/973eaac0/attachment.html>

More information about the Libav-user mailing list