How to capture a timed screen recording on a Mac with ffmpeg

前端 未结 1 1026
青春惊慌失措
青春惊慌失措 2020-12-18 00:04

I\'m on a Mac with MacOS Sierra installed. I\'ve installed ffmpeg with homebrew. I list my devices via:

ffmpeg -f avfoundation -list_devices true -i \"\"


        
相关标签:
1条回答
  • 2020-12-18 00:14

    I guess most of the time we'll ignore the program warnings, but not this one.

    If recording screen with no other options like this:

    ffmpeg -f avfoundation -i "1" out.mov
    

    You'll probably see some warnings:

    [mov @ 0x7f7fcf19da00] Frame rate very high for a muxer not efficiently supporting it.
    Please consider specifying a lower framerate, a different muxer or -vsync 2
    No pixel format specified, yuv422p for H.264 encoding chosen.
    Use -pix_fmt yuv420p for compatibility with outdated media players.
    ......
    [mov @ 0x7f7fcf19da00] WARNING codec timebase is very high. If duration is too long,
    file may not be playable by quicktime. Specify a shorter timebase
    or choose different container.
    

    And the output video stream fps will be 1000k, which is unreasonable.

    So I set the fps option. Also I set pixel format to yuv420p, otherwise the default yuv422p color space cannot be played by quicktime:

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

    I'm using a 2013-mid MBP with MacOS sierra, also brew installed ffmpeg 3.1.1.

    0 讨论(0)
提交回复
热议问题