amiaopensource / vrecord

Vrecord is open-source software for capturing a video signal and turning it into a digital file.
https://github.com/amiaopensource/vrecord
149 stars 44 forks source link

vrecord cannot see DV device #769

Open tomackroyd opened 8 months ago

tomackroyd commented 8 months ago

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)

dericed commented 8 months ago

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.

tomackroyd commented 8 months ago

@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"?

dericed commented 8 months ago

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.

lavidtech-1 commented 6 months ago

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.

privatezero commented 6 months ago

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.

tomackroyd commented 6 months ago

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 commented 6 months ago

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

libbyhopfauf commented 5 months ago

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.
tomackroyd commented 5 months ago

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 % 
libbyhopfauf commented 4 months ago

@tomackroyd would you mind trying this:

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

And then see what it says under the config tab?