mipops / dvrescue

Archivist-made software that supports data migration from DV tapes into digital files suitable for long-term preservation. Snapshot daily builds are at https://mediaarea.net/download/snapshots/binary/dvrescue/.
BSD 3-Clause "New" or "Revised" License
94 stars 20 forks source link

support multiple outputs #749

Closed dericed closed 11 months ago

dericed commented 1 year ago

The main use case here is to write a file while piping the output to a player, such as: dvrescue -m out.dv -m - | ffplay -

libbyhopfauf commented 1 year ago

I just did some testing with version 2023-11-11. Capture works great with a single deck. But when I start a capture on a second deck, it'll start recording for about 5 seconds and then quite capturing on both decks. The GUI then swaps the placement of the two decks:

https://github.com/mipops/dvrescue/assets/13877631/8b36a7d4-30da-4248-a454-d6c06241f338

Another observation observation regarding multiple decks is when you first open the DVRescue GUI, the response time for connecting/disconnecting devices is very fast, but once the GUI has been open for awhile capturing with a single deck, if you connect a second device, the response time is really slow and half the time, the second deck won't show up unless you close the GUI and reopen it. In general, decks being detected seems really in consistent. Sometimes when I open the GUI with a device connected, it will either take forever to detect the deck or I have to close and reopen multiple times for even a single deck to be detected.

libbyhopfauf commented 1 year ago

FWIW multiple captures in the latest version of vrecord is working great!

dericed commented 1 year ago

Hey @libbyhopfauf, can you send a log on this. Run /Applications/dvrescue.app/Contents/MacOS/dvrescue --log in terminal to launch the gui, then recreate the issue you mentioned as simply as you can and then quit the app. Then send the description of your steps (which buttons, etc) and the output of cat "$HOME/Library/Containers/net.MediaArea.dvrescue.mac-gui/Data/dvrescue-gui_logs/dvrescue-gui.log"

dericed commented 11 months ago

@JeromeMartinez the update for multiple updates works but the file output of dvrescue -m out.dv -m - | ffplay - is not frame-aligned when I control-c.

I tried these three commands and control-c'd each:

dvrescue device://0x800460104f1243e -m outx.dv
dvrescue device://0x800460104f1243e -m outy.dv
dvrescue device://0x800460104f1243e -m outz.dv -m - | ffplay -
ls -l out*
-rw-r--r--  1 daverice  staff  28078080 Nov 29 16:43 outb.dv
-rw-r--r--  1 daverice  staff   9240000 Nov 29 16:43 outx.dv
-rw-r--r--  1 daverice  staff  13197312 Nov 29 16:44 outz.dv

The multiple output one is not frame aligned. I assume the Control-C gets directed to ffplay rather than dvrescue, but ffplay should send a SIGPIPE to dvrescue.

dericed commented 11 months ago

This issue is resolved and dvrescue device://0 -m file.dv -m - | ffplay - now works and file.dv is frame-aligned when ffplay is stopped. So I'll close the issue.

@libbyhopfauf can you move https://github.com/mipops/dvrescue/issues/749#issuecomment-1806913503 to a new issue; the original issue was about one dvrescue capture process writing two outputs at once (prep for vrecord integration).

libbyhopfauf commented 9 months ago

@dericed yep! Sorry, just saw this!