vrecord icon indicating copy to clipboard operation
vrecord copied to clipboard

vrecord cannot see DV device

Open tomackroyd opened this issue 2 years ago • 12 comments

Have in the past been able to capture from DV using vrecord GUI. vrecord now cannot see DV device. Transport controls work however. Can successfully capture using QuickTime Player and avfctl using avfctl -device 0 -cmd capture test.dv

twelveplusone@Toms-MacBook-Air ~ % avfctl -list_devices 
2023-11-05 15:08:06.294 avfctl[59721:932451] Devices:
2023-11-05 15:08:06.296 avfctl[59721:932451] [0 - 0x800460101ab28fb] DV
twelveplusone@Toms-MacBook-Air ~ % dvrescue --list_devices_json
[{"id":"0x800460101ab28fb","name":"DV","type":"DV"}]
twelveplusone@Toms-MacBook-Air ~ % vrecord
Starting the vrecord GUI. To bypass the GUI, run like 'vrecord FILENAME'.
2023-11-05 15:18:22.596 defaults[852:7934] 
The domain/default pair of (/Library/Extensions/DeckLink_Driver.kext/Contents/Info.plist, CFBundleVersion) does not exist

The option for AVFCTL_INPUT_CHOICE is not set. Please restart vrecord in edit mode (vrecord -e) or update the configuration file at /Users/twelveplusone/.vrecord.conf.

vrecord GUI deck control Status: [0x800460101ab28fb] DV: stopped Here is a screenshot: Screenshot 2023-11-05 at 3 36 23 PM

vrecord 2023-08-07 macOS 13.4.1 (c) (22F770820d) MacBook Air M2 Sony DSR-40P (now fixed following tape jam, do not put sticky labels on miniDVs where they don't belong kids)

tomackroyd avatar Nov 05 '23 02:11 tomackroyd

Hey @tomackroyd, I just wrote up https://github.com/amiaopensource/vrecord/pull/770 which swaps out avfctl (which was used to prototype some dvrescue features) to use the dvrescue cli directly.

dericed avatar Nov 05 '23 19:11 dericed

@dericed Out of interest, if vrecord or dvrescue wanted to id any DV deck, would it refer to an authority list that said something like (in my instance) "0x800460101ab28fb = Sony DSR-40P"?

tomackroyd avatar Nov 05 '23 20:11 tomackroyd

IIUC 0x800460101ab28fb refers to your Sony DSR-40P. Maybe there's a pattern in there, but I don't know it yet. So if you had two Sony DSR-40P, these id's could help distinguish them.

dericed avatar Nov 05 '23 20:11 dericed

Hi All,

Ran into this issue myself. Would love to try this #770 but I don't know how to patch Vrecord. Is there anyone who could help me out?

Thanks.

lavidtech-1 avatar Dec 19 '23 17:12 lavidtech-1

Hi @lavidtech-1, one way to quickly test the branch in #770 would be to download it's ZIP from github at https://github.com/amiaopensource/vrecord/tree/updates-on-handling-recorders via the 'Code' tab and then to run that version of vrecord directly. (If you cd into the directory you unzip it to, you should be able to run that particular version by using ./vrecord instead of the usual vrecord command.) In this form, it should still be able to access the config files and dependencies that were installed via homebrew.

privatezero avatar Dec 20 '23 01:12 privatezero

Hi @privatezero I tried your above suggestion. I managed to get vrecord to capture a clip, but every attempt thereafter has failed, due to ffplay-dl launching but not displaying a playback window, and so I can't properly end captures. I tried running from the command line and got failures like this: The configuration file uses an invalid value of As is for SIGNAL_INT_CHOICE. Valid values are: auto bff tff prog. Please restart vrecord in edit mode (vrecord -e) or update the configuration file at /Users/twelveplusone/.vrecord.conf. Error: An option for DVRESCUE_INPUT_CHOICE is required. Please restart vrecord in edit mode (vrecord -e) or update the configuration file at /Users/twelveplusone/.vrecord.conf. 23031_test_issue_770_capture_options.log 23031_test_issue_770_vrecord_input.log 23031_test_issue_770_take_8_capture_options.log

tomackroyd avatar Dec 22 '23 02:12 tomackroyd

I buried the lede, which is that this branch sees my deck and has successfully captured a file!

tomackroyd avatar Dec 22 '23 02:12 tomackroyd

I'm trying to test this again and with @privatezero's update to #770 and a variety of devices aren't showing up at all (but are showing up in QuickTime) now I'm getting this error for both vrecord and dvrescue commands:

libbyshopfauf@Libbys-MacBook-Pro-M2 ~ % dvrescue --list_devices
2024-01-23 15:06:49.330 dvrescue[3133:24471] WARNING: AVCaptureDeviceTypeExternal is deprecated for Continuity Cameras. Please use AVCaptureDeviceTypeContinuityCamera and add NSCameraUseContinuityCameraDeviceType to your Info.plist.

libbyshopfauf@Libbys-MacBook-Pro-M2 ~ % cd /Users/libbyshopfauf/Downloads/vrecord-updates-on-handling-recorders
libbyshopfauf@Libbys-MacBook-Pro-M2 vrecord-updates-on-handling-recorders % ./vrecord              
Starting the vrecord GUI. To bypass the GUI, run like 'vrecord FILENAME'.
2024-01-23 15:08:27.493 dvrescue[3225:26669] WARNING: AVCaptureDeviceTypeExternal is deprecated for Continuity Cameras. Please use AVCaptureDeviceTypeContinuityCamera and add NSCameraUseContinuityCameraDeviceType to your Info.plist.

libbyhopfauf avatar Jan 23 '24 23:01 libbyhopfauf

Just an update on trying to get vrecord to capture, have tried latest main, and the "updates on handling recorders" branch, still no joy

twelveplusone@Toms-MacBook-Air ~ % /Users/twelveplusone/Downloads/vrecord-updates-on-handling-recorders/vrecord
Starting the vrecord GUI. To bypass the GUI, run like 'vrecord FILENAME'.
2024-01-29 13:37:19.821 defaults[4424:42627] 
The domain/default pair of (/Library/Extensions/DeckLink_Driver.kext/Contents/Info.plist, CFBundleVersion) does not exist

And place logs at /Volumes/G6/CAPTURED WITH VRECORD/vrecord-updates-on-handling-recorders too.
Summary: Copying video from 0x800460101ab28fb: DV [DV]. Technician=Tom. Inputs recorded to /Volumes/G6/CAPTURED WITH VRECORD/vrecord-updates-on-handling-recorders/23031_2024_01_29.dv and Auxiliary Files created in /Volumes/G6/CAPTURED WITH VRECORD/vrecord-updates-on-handling-recorders. Tape duration set to: 1 minutes.
Hit enter to start recording

Close the playback window to stop recording.
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
  configuration: --prefix=/opt/homebrew/Cellar/ffmpegdecklink/5.1.2_2 --disable-shared --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libfontconfig --disable-htmlpages --disable-libjack --disable-indev=jack --enable-neon --enable-nonfree --enable-decklink --extra-cflags=-I/opt/homebrew/include --extra-ldflags=-L/opt/homebrew/include
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
2024-01-29 13:37:53.465 dvrescue[5544:45805] Frame dropped. f=0/0   
DVRescue v.0.21.11.20231106 (MediaInfoLib v.23.10) by MIPoPSf=0/0   
^Z1271 00:30:19:16 2001-03-09 16:14:33 (1.0x, DV 33)=    0B f=0/0   
zsh: suspended  /Users/twelveplusone/Downloads/vrecord-updates-on-handling-recorders/vrecord
twelveplusone@Toms-MacBook-Air ~ % cd /Users/twelveplusone/Downloads/vrecord-main 
twelveplusone@Toms-MacBook-Air vrecord-main % /Users/twelveplusone/Downloads/vrecord-main/vrecord 
Starting the vrecord GUI. To bypass the GUI, run like 'vrecord FILENAME'.
2024-01-29 13:41:06.680 defaults[6790:57656] 
The domain/default pair of (/Library/Extensions/DeckLink_Driver.kext/Contents/Info.plist, CFBundleVersion) does not exist

The option for AVFCTL_INPUT_CHOICE is not set. Please restart vrecord in edit mode (vrecord -e) or update the configuration file at /Users/twelveplusone/.vrecord.conf.
twelveplusone@Toms-MacBook-Air vrecord-main % vrecord -e
2024-01-29 13:41:47.404 defaults[7632:60191] 
The domain/default pair of (/Library/Extensions/DeckLink_Driver.kext/Contents/Info.plist, CFBundleVersion) does not exist

The option for AVFCTL_INPUT_CHOICE is not set. Please restart vrecord in edit mode (vrecord -e) or update the configuration file at /Users/twelveplusone/.vrecord.conf.
twelveplusone@Toms-MacBook-Air vrecord-main % /Users/twelveplusone/Downloads/vrecord-main/vrecord -e
The option for AVFCTL_INPUT_CHOICE is not set. Please restart vrecord in edit mode (vrecord -e) or update the configuration file at /Users/twelveplusone/.vrecord.conf.
twelveplusone@Toms-MacBook-Air vrecord-main % 

tomackroyd avatar Jan 29 '24 00:01 tomackroyd

@tomackroyd would you mind trying this:

cd /Users/twelveplusone/Downloads/vrecord-main 
./vrecord -e 

And then see what it says under the config tab?

libbyhopfauf avatar Feb 12 '24 22:02 libbyhopfauf

@libbyhopfauf Am revisiting this even though vrecord does not see my deck, although it kinda does? in this screenshot: Screenshot 2024-07-11 at 5 29 18 PM But anyway here is the config tab per request: Screenshot 2024-07-11 at 5 28 33 PM And here is the "Environment"

VRECORD_VARS_FILE="/tmp/v_._vrecord_variables.txt"
OS_TYPE="macOS"
RESOURCE_PATH="./Resources"
DEFAULTFONT="/System/Library/Fonts/Supplemental/Andale Mono.ttf"
CORE_COUNT="8"
OPEN_COMMAND="open"
ZCAT_COMMAND="gzcat"
COMPUTER_MODEL_NAME="MacBook Air"
DIR_SELECTION_DIALOG="Select an existing folder (or drag/drop one below). File System/Volumes for external media."
COMPUTER_MODEL_ID="Mac14,2"
COMPUTER_PROCESSOR_NAME=""
COMPUTER_PROCESSOR_SPEED=""
COMPUTER_PROCESSOR_COUNT=""
COMPUTER_MEMORY="16 GB"
COMPUTER_SERIAL="L9JPW06HX2"
CAPTURELOGSUFFIX="_vrecord_input.log"
TIMECODELOGSUFFIX="_frame_timecodes.txt"
BREW_PREFIX="/opt/homebrew/opt/ffmpegdecklink"
FFMPEG_BIN="/opt/homebrew/opt/ffmpegdecklink/bin/ffmpeg-dl"
FFPLAY_BIN="/opt/homebrew/opt/ffmpegdecklink/bin/ffplay-dl"
FFPROBE_BIN="/opt/homebrew/opt/ffmpegdecklink/bin/ffprobe-dl"

Also:

twelveplusone@Toms-MacBook-Air vrecord-main % ./vrecord test
The option for AVFCTL_INPUT_CHOICE is not set. Please restart vrecord in edit mode (vrecord -e) or update the configuration file at /Users/twelveplusone/.vrecord.conf.

Also:

twelveplusone@Toms-MacBook-Air vrecord-main % /Applications/dvrescue.app/Contents/Helpers/dvrescue -list_devices_json                                
[{"id":"0x800460101ab28fb","name":"DV","type":"DV"}]

Here is .vrecord.conf:

# Set these variables to a valid option or leave as empty quotes (like "") to request each run.
STARTUP_VIEW="INPUTSETTINGS"
DEVICE_INPUT_CHOICE="1"
VIDEO_INPUT_CHOICE="Composite"
AUDIO_INPUT_CHOICE="Analog"
CONTAINER_CHOICE="QuickTime"
VIDEO_CODEC_CHOICE="Uncompressed Video"
FFV1_SLICE_CHOICE="4"
AUDIO_CODEC_CHOICE="24-bit PCM"
AUDIO_DEV_CHOICE="Camo Microphone"
AUDIO_MODE_CODEC_CHOICE="24-bit PCM"
AUDIO_CHANNEL_CHOICE="Mono"
AUDIO_MODE_SR_CHOICE="96 kHz"
VIDEO_BIT_DEPTH_CHOICE="10 bit"
AUDIO_MAPPING_CHOICE="2 Stereo Tracks (Channels 1 & 2 -> 1st Track Stereo, Channels 3 & 4 -> 2nd Track Stereo)"
TIMECODE_CHOICE="none"
STANDARD_CHOICE="NTSC"
QCTOOLSXML_CHOICE="Yes, concurrent with recording"
FRAMEMD5_CHOICE="Yes"
EMBED_LOGS_CHOICE="Yes"
PLAYBACKVIEW_CHOICE="Unfiltered"
PLAYBACKVIEW_CHOICE_PASS="Unfiltered"
DIR="/Volumes/G6/CAPTURED WITH VRECORD"
LOGDIR=""
INVERT_PHASE=""
DURATION="1"
PREFIX=""
USER_SUFFIX=""
NO_SUFFIX="false"
TECHNICIAN="Tom"
DVRESCUE_INPUT_CHOICE="0x800460101ab28fb: DV [DV]"
DECKLINK_INPUT_CHOICE=""
DECKLINK_UTILITY_CHOICE=""
WAVEFORM_SCALE_CHOICE="digital"
MONITOR_AUDIO_CHOICE="Yes"
SIGNAL_VIEW_CHOICE="Broadcast Range"
DV_CONTAINER_CHOICE="DV"
DV_RESCUE_OPTION_S="false"
DV_RESCUE_OPTION_D="false"
DV_RESCUE_OPTION_T="false"
DV_RESCUE_OPTION_TC="false"

tomackroyd avatar Jul 11 '24 05:07 tomackroyd