-
Notifications
You must be signed in to change notification settings - Fork 46
Updates on handling recorders #770
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
c5b9d46
to
9f74228
Compare
This mixes a few updates, but generally removed bmdtools as an option (soon we can avoid triple-piped recording scenarios), and it swaps most of the use avfctl to dvrescue, and responds to a few feature requests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to be working on my computers! I ended up having to go into recovery mode and resetting the permissions again (using the troubleshooting instructions here.) Now both devices show up on my computer via avfctl -list_devices
and the vrecord GUI. Capture and packaging to MKV once capture is ended are working properly on my computers with this version.
libbyshopfauf@MacBook-Pro-55 ~ % avfctl -list_devices
2023-11-06 10:30:00.622 avfctl[1220:12548] Devices:
2023-11-06 10:30:00.623 avfctl[1220:12548] [0 - 0x8004601025e3c58] DV-VCR (Sony DSR-25)
2023-11-06 10:30:00.623 avfctl[1220:12548] [1 - 0x8004602010e007c] DSR-1500A (Sony DSR-1500A)

Computers tested:
- Macbook Pro 2019 running Ventura 13.5.1
- Macbook Pro 2021 running Ventura 13.5.1
Prior to resetting the permissions in recovery mode, I tried all of the other steps listed below (just in case it is helpful at all):
- In the vrecord GUI, I tried rescanning, refreshing vrecord and restarting my computer multiple times. If I selected "deck control"" in the GUI and click "repack", I get a message that the deck is stopped (similar to the example in vrecord cannot see DV device #769):

- I tried uninstalling and reinstalling the Blackmagic drivers (including having to reset the permissions again.)
- Regarding my computers reading FireWire devices in general: if I ran
avfctl -list_devices
, I kept getting "No devices found
." But if I ranioreg -l
, both DV devices connected are listed:
IOFireWireDevice@8004602010e007c <clas$
| | | | | {
| | | | | "FireWire Speed" = 0
| | | | | "FireWire Self IDs" = <816c08c0>
| | | | | "Vendor_ID" = 524358
| | | | | "FireWire Product Name" = "DSR-1500A"
| | | | | "FireWire Vendor Name" = "Sony"
| | | | | "FireWire Node ID" = 65473
| | | | | "FireWire Device ROM" = {"Offset 0"=<$
| | | | | "IOCFPlugInTypes" = {"CDCFCA94-F197-1$
| | | | | "GUID" = 576537726724997244
| | | | | "IOUserClientClass" = "IOFireWireUser$
| | | | | "Model_ID" = 3670189
IOFireWireDevice@8004601025e3c58 <clas$
| | | | | {
| | | | | "FireWire Speed" = 0
| | | | | "FireWire Self IDs" = <816c08c2>
| | | | | "Vendor_ID" = 524358
| | | | | "FireWire Product Name" = "DSR-25"
| | | | | "FireWire Vendor Name" = "Sony"
| | | | | "FireWire Node ID" = 65535
| | | | | "FireWire Device ROM" = {"Offset 0"=<$
| | | | | "IOCFPlugInTypes" = {"CDCFCA94-F197-1$
| | | | | "GUID" = 576537722452065368
| | | | | "IOUserClientClass" = "IOFireWireUser$
| | | | | "Model_ID" = 2097167
Looking forward to trialling this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noticed a couple of gremlins!
vrecord
Outdated
@@ -2007,6 +2014,7 @@ _review_all_options(){ | |||
fi | |||
_review_option -n -d "digital" "WAVEFORM_SCALE_CHOICE" "${WAVEFORM_SCALE_OPTIONS[@]}" | |||
_review_option -n -d "Broadcast Range" "SIGNAL_VIEW_CHOICE" "${SIGNAL_OPTIONS[@]}" | |||
_review_option -n -d "As is" "SIGNAL_INT_CHOICE" "${INT_OPTIONS[@]}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line breaks things for me as _review_option
will error by saying "As is" is not a valid option and exit. Does this work on your end?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changing "As is"
to "auto"
fixes this on my end - this settings for this option do not, however, persist currently and are not apparently stored in the config file - was this intentional?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I switched to 'auto'
_get_dvrescue_inputs(){ | ||
# set dvrescue input options | ||
unset DVRESCUE_DEVICES | ||
while read dvrescue_device ; do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this needs to be moved into an else
clause so it doesn't run if the system is Linux (at least until I have time to make changes to the code to switch Linux side over to dvrescue as well. As written this displays the device name detected via dvrescue in the options (yay! that's ultimately a good thing) but is misleading to users until dvrescue is integrated as currently linux vrecord can only capture from the default DV device
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changing order to something like the following seems to work on linux for now:
_get_dvrescue_inputs(){
# set dvrescue input options
if [[ "${OS_TYPE}" = "linux" ]] ; then
DVRESCUE_DEVICES+=('Default DV Device')
else
unset DVRESCUE_DEVICES
while read dvrescue_device ; do
DVRESCUE_DEVICES+=("${dvrescue_device}")
done < <(dvrescue -list_devices | grep "\[DV\]")
if [[ "${#DVRESCUE_DEVICES[@]}" = 1 ]] ; then # default to first input if only one
DVRESCUE_INPUT_CHOICE="${DVRESCUE_DEVICES[0]}"
fi
fi
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The latest update does a lot more with getting linux to grab the device id and use it. Can you retest.
vrecord
Outdated
if [[ -z "${ALT_INPUT}" ]] && [[ "${DECKLINK_UTILITY_CHOICE}" == "ffmpeg" ]] ; then | ||
_review_option "TIMECODE_CHOICE" "${TIMECODE_OPTIONS[@]}" | ||
fi | ||
_review_option "TIMECODE_CHOICE" "${TIMECODE_OPTIONS[@]}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this seems to break using most files for test inputs - suggest something like
if [[ -z "${ALT_INPUT}" ]] ; then
_review_option "TIMECODE_CHOICE" "${TIMECODE_OPTIONS[@]}"
fi
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
254524e
to
012415c
Compare
This is ready for a new review. Now avfctl is mostly gone and now dvrescue capture and playthrough is all done with just dvrescue and ffplay (or mpv) and not ffmpeg. |
f515bc5
to
a491fff
Compare
ping to @privatezero as mipops/dvrescue#827 (comment) relates to this. |
@dericed I've updated my issue there with results of another test |
@dericed I've made a modified version of this branch here: https://github.com/amiaopensource/vrecord/tree/updates-on-handling-recorders-linux This branch adds a setting for allowing user to select capture tool for dv - this would be dvrescue on macs and dvrescue or ffmpeg via iec61883 device on Linux. Any thoughts? Having a bit of choice/redundancy on the Linux side is a positive I think! |
for most things fixes #759 by adding id to dv inputs
just the repack one remains at the moment
simplify then add lightness
3783304
to
56bf3ae
Compare
You did it
…On Fri, Apr 26, 2024, 6:04 PM Andrew Weaver ***@***.***> wrote:
***@***.**** approved this pull request.
—
Reply to this email directly, view it on GitHub
<#770 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAY4ATHMT4PTTM4AQPHXJCDY7LFONAVCNFSM6AAAAAA66QUEIKVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDAMRVHEZTAOJWGE>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
No description provided.