[FFmpeg-user] How to open avfoundation via C

Jeroen Ooms jeroenooms at gmail.com
Tue Oct 9 02:03:46 EEST 2018

I would like to capture the screen in MacOS. This works via the command line:

  Command line: ffmpeg -f avfoundation -i "1" -pix_fmt yuv420p -r 25
-t 5 out.mov

However I can't figure out how to do this in C. I tried the following,
but it gives an error "Device selection unsupported.".

  AVBufferRef *capture;
  AVDictionary *opts = NULL;
  av_dict_set(&opts, "video_device_index", "1", 0);
  av_dict_set(&opts, "audio_device_index", "none", 0);
  av_hwdevice_ctx_create(&capture, AV_HWDEVICE_TYPE_VIDEOTOOLBOX,
                                 "avfoundation", opts, 0);

More information about the ffmpeg-user mailing list