vrecord
vrecord copied to clipboard
vrecord settings / Desktop Video Setup mismatch causes dropped frames warning..
vrecord video and audio settings seem to override the BM Desktop Video Setup input settings but a mismatch does seem to cause a consistent Dropped Frames warning in capture_options.log like this:
DROPPED_FRAMES_TIMESTAMPS: 00:00:00.040 00:00:00.280
I don't see this a a major problem but it's disconcerting and not immediately obvious where the cause lies. We regularly swap between SDI / embedded and analogue / XLR inputs on one of our systems.
Hi @asfinn, that's really interesting. I've seen the instances where there would be a couple dropped frames right at the beginning, but didn't correlate it to a mismatch with the BM Desktop Video Setup. Could you provide more information about your experiments? If the consistency of this settings between the Desktop Video and vrecord is a real issue, then perhaps we need to parse the plist file for Desktop Video to warning about the conflict earlier on.
Hi @dericed - yes, they only seem to be at the start and were consistent with configuration mismatch.. I haven't noticed this before but we've only just upgraded to MacOS 10.13.6 and Desktop Video 11.4 and I think this is when it's been more apparent.. Below are the capture_options.log and ffmpeg_decklink_input.log when the DTV and vrecord settings were mismatched:
`computer_name: rebbie.local computer_model_name: Mac Pro computer_model_id: MacPro5,1 computer_processor_name: 6-Core Intel Xeon computer_processor_speed: 3.2 GHz computer_processor_count: 1 computer_memory: 8 GB computer_serial: CK92004D4PD computer_cores: 6 user_name: adrian operating_system_VERSION: Darwin Kernel Version 17.7.0: Sun Jun 2 20:31:42 PDT 2019; root:xnu-4570.71.46~1/RELEASE_X86_64 vrecord version: 2019-07-22_1 datetime_start: 2019-10-28T14:33:08 capture_device_node: /dev/disk5 capture_device_protocol: SATA capture_device_name: TOSHIBA HDWE140 capture_device_block_size: 512 Bytes capture_device_location: Internal "Bay 1" capture_device_partition_type: Apple_HFS capture_device_partition_name: Mac OS Extended (Journaled) capture_device_volume_uuid: 169B75DD-C409-3ED7-AFFB-96F52997A9A0 capture_device_volume_available: capture_device_volume_total: 4.0 TB (4000443056128 Bytes) (exactly 7813365344 512-Byte-Units) FILE_PATH: /Volumes/video-ingest-a-4tb-toshiba/test2.mov video_card_driver_version: 11.4 video_card_name: DeckLink Studio 4K VIDEO_INPUT_CHOICE: Component AUDIO_INPUT_CHOICE: Analog VIDEO_BIT_DEPTH_CHOICE: 10 bit AUDIO_MAPPING_CHOICE: 1 Stereo Track (From Channels 1 & 2) TIMECODE_CHOICE: none STANDARD_CHOICE: PAL PLAYBACKVIEW_CHOICE: Visual + Numerical CONTAINER_CHOICE: QuickTime VIDEO_CODEC_CHOICE: Uncompressed Video AUDIO_CODEC_CHOICE: 24-bit PCM QCTOOLSXML_CHOICE: No FRAMEMD5_CHOICE: Yes
TECHNICIAN: N/A FFmpeg command: /usr/local/opt/ffmpegdecklink/bin/ffmpeg-dl -nostdin -nostats -t 15000 -loglevel info -f decklink -draw_bars 0 -audio_input analog -video_input component -format_code pal -channels 8 -audio_depth 32 -raw_format yuv422p10 -timecode_format none -i DeckLink Studio 4K -metadata:s:v:0 encoder=Uncompressed 10-bit 4:2:2 -map_metadata 0:s:v:0 -color_primaries bt470bg -color_trc bt709 -colorspace bt470bg -color_range mpeg -metadata creation_time=now -movflags write_colr -c:v v210 -c:a pcm_s24le -filter_complex [0:v:0]setsar=16/15,setdar=4/3; [0:a:0]pan=stereo| c0=c0 | c1=c1[stereo1] -map [stereo1] -f mov /Volumes/video-ingest-a-4tb-toshiba/test2.mov -an -f framemd5 /Volumes/video-ingest-a-4tb-toshiba/test2.framemd5 -c copy -map 0 -f matroska -write_crc32 0 -live true - datetime_end: 2019-10-28T14:33:22 PTS_DISCONTINUITY: 4-4 DROPPED_FRAMES_TIMESTAMPS: 00:00:00.040 00:00:00.320 `
ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers built with Apple LLVM version 10.0.0 (clang-1000.10.44.4) configuration: --prefix=/usr/local/Cellar/ffmpegdecklink/4.2.1_1 --disable-shared --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-opencl --enable-videotoolbox --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.1/include/openjpeg-2.3 --enable-nonfree --enable-decklink --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/include libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 [decklink @ 0x7fa58a801200] Found Decklink mode 720 x 576 with rate 25.00(i) [decklink @ 0x7fa58a801200] Frame received (#1) - No input signal detected - Frames dropped 1 Guessed Channel Layout for Input Stream #0.0 : 7.1 Input #0, decklink, from 'DeckLink Studio 4K': Duration: N/A, start: 0.000000, bitrate: 233472 kb/s Stream #0:0: Audio: pcm_s32le, 48000 Hz, 7.1, s32, 12288 kb/s Stream #0:1: Video: v210 (V210 / 0x30313256), yuv422p10le(top first), 720x576, 221184 kb/s, 25 fps, 25 tbr, 1000k tbn, 1000k tbc Output #2, matroska, to 'pipe:': Metadata: encoder : Lavf58.29.100 Stream #2:0: Audio: pcm_s32le ([1][0][0][0] / 0x0001), 48000 Hz, 7.1, s32, 12288 kb/s Stream #2:1: Video: v210 (V210 / 0x30313256), yuv422p10le(top first), 720x576, q=2-31, 221184 kb/s, 25 fps, 25 tbr, 1k tbn, 1000k tbc Stream mapping: Stream #0:0 (pcm_s32le) -> pan (graph 0) Stream #0:1 (v210) -> setsar (graph 0) setdar (graph 0) -> Stream #0:0 (v210) pan (graph 0) -> Stream #0:1 (pcm_s24le) Stream #0:1 -> #1:0 (v210 (native) -> rawvideo (native)) Stream #0:0 -> #2:0 (copy) Stream #0:1 -> #2:1 (copy) Output #1, framemd5, to '/Volumes/video-ingest-a-4tb-toshiba/test2.framemd5': Metadata: encoder : Lavf58.29.100 Stream #1:0: Video: rawvideo (Y3[10][10] / 0xA0A3359), yuv422p10le, 720x576, q=2-31, 207360 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc58.54.100 rawvideo [Parsed_pan_2 @ 0x7fa58b009180] Pure channel mapping detected: 0 1 Output #0, mov, to '/Volumes/video-ingest-a-4tb-toshiba/test2.mov': Metadata: creation_time : now encoder : Lavf58.29.100 Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p10le(tv, bt470bg/bt470bg/bt709, top coded first (swapped)), 720x576 [SAR 16:15 DAR 4:3], q=2-31, 221184 kb/s, 25 fps, 12800 tbn, 25 tbc (default) Metadata: encoder : Uncompressed 10-bit 4:2:2 Stream #0:1: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32, 2304 kb/s (default) Metadata: encoder : Lavc58.54.100 pcm_s24le [decklink @ 0x7fa58a801200] Frame received (#8) - Input returned - Frames dropped 2 av_interleaved_write_frame(): Broken pipe Error writing trailer of pipe:: Broken pipe frame= 339 fps= 25 q=-0.0 Lq=-0.0 q=-1.0 size= 369921kB time=00:00:13.56 bitrate=223354.6kbits/s dup=1 drop=0 speed=1.01x video:1279800kB audio:24047kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Conversion failed!
I like how you use ✌️ in your ffmpeg commands. 😎
I added https://github.com/amiaopensource/vrecord/pull/501 which sort of addresses this. I suppose we could try to go further if we allowed vrecord to edit the preferences file for Desktop Video though I'm not sure that's a good idea as some users would need to use that preferences file in other applications.