[Libav-user] Problems with H.264 encoding for MP4 files on macOS

Gonzalo Garramuño ggarra13 at gmail.com
Sun Jan 29 22:29:19 EET 2017

El 27/01/17 a las 11:14, films escribió:
> Hi Folks.
> I am trying to write .mp4 files with H.264 and AAC from generated 
> images and audio. My app is linked to libAVFormat, libAVCodec etc plus 
> some necessary OSX frameworks
> If I let libAVFormat select the codecs for a file named xxxxx.mp4 
> using av_guess_format() it selects the MPEG4 and AAC encoders and 
> everything is working **fine**
> However, I really need to use the H.264 codec instead of the MPEG4 
> video codec, so I have tried overriding the guessed codec by simply 
> adding this after the av_guess_format stage.
> fmt->video_codec = AV_CODEC_ID_H264;
I don't have any MacOSX experience, but if you specify the codec, you 
don't need to call av_guess_format.  Here's a sample of my code:

    static AVFormatContext *oc = NULL;


    int err = avformat_alloc_output_context2(&oc, NULL, NULL, filename);
    if (!oc || err < 0) {
        LOG_WARNING( _("Could not deduce output format from file 
extension: using MPEG.") );

       err = avformat_alloc_output_context2(&oc, NULL, "mpeg", filename);
       if ( err < 0 )
      LOG_ERROR( _("Could not open mpeg movie") );
      return false;

    oc->max_interleave_delta = 1;

    fmt = oc->oformat;
    assert( fmt != NULL );

   fmt->video_codec = AV_CODEC_ID_H264;

Gonzalo Garramuño

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20170129/a8e18262/attachment.html>

More information about the Libav-user mailing list