I'm using the hardware encoder as the software encoder uses much more CPU power. I assume the hardware encoder is using either the encoding capabilities of the Intel CPU (Core i7) or the GPU which should be the preferred way. I don't understand why that would be deprecated.
The video source I'm recording is 1920 x 1080 at 60 (or 59.94) fps.
Here are some of the message from the log that I found noticeable:
18:53:09.374: Switched to scene 'Show HDMI only'
18:53:09.374: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds
18:53:09.480: adding 21 milliseconds of audio buffering, total audio buffering is now 42 milliseconds
18:53:27.558: adding 21 milliseconds of audio buffering, total audio buffering is now 64 milliseconds
18:53:27.690: adding 42 milliseconds of audio buffering, total audio buffering is now 106 milliseconds
19:01:52.942: [VideoToolbox recording_h264: 'h264']: session created with hardware encoding
19:01:52.942: [VideoToolbox recording_h264: 'h264']: settings:
19:01:52.942: vt_encoder_id com.apple.videotoolbox.videoencoder.h264.gva
19:01:52.942: bitrate: 6800 (kbps)
19:01:52.942: fps_num: 60
19:01:52.942: fps_den: 1
19:01:52.942: width: 1920
19:01:52.942: height: 1080
19:01:52.942: keyint: 0 (s)
19:01:52.942: limit_bitrate: off
19:01:52.942: rc_max_bitrate: 2500 (kbps)
19:01:52.942: rc_max_bitrate_window: 1.500000 (s)
19:01:52.942: hw_enc: on
19:01:52.942: profile: main
19:01:52.942:
19:01:52.947: [CoreAudio AAC: 'Track1']: settings:
19:01:52.947: mode: AAC
19:01:52.947: bitrate: 160
19:01:52.947: sample rate: 48000
19:01:52.947: cbr: on
19:01:52.947: output buffer: 1536
19:01:52.953: ==== Recording Start ===============================================
19:01:52.953: [ffmpeg muxer: 'adv_file_output'] Writing file '/Users/Marco/Movies/XXXXX.mov'...
19:02:24.087: adding 21 milliseconds of audio buffering, total audio buffering is now 128 milliseconds
19:11:04.230: adding 21 milliseconds of audio buffering, total audio buffering is now 149 milliseconds
19:49:36.174: [ffmpeg muxer: 'adv_file_output'] Output of file '/Users/Marco/Movies/XXXXX.mov' stopped
19:49:36.174: Output 'adv_file_output': stopping
19:49:36.175: Output 'adv_file_output': Total frames output: 171784
19:49:36.175: Output 'adv_file_output': Total drawn frames: 171789 (171793 attempted)
19:49:36.175: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 4 (0.0%)
19:49:36.175: ==== Recording Stop ================================================
I'm surprised by the increasing audio buffer. I also notice a difference between the video and audio which I compensate in post processing but this should not be really necessary. Also the dropped frames are strange. This is running on a pretty new 2016 MacBook Pro with Core i7.