vrecord
vrecord copied to clipboard
Start and stop recording at specified timecodes
Being a very lazy technician, I wonder if there would be a way to start and stop a capture the same way Media Express does when we specify the timecode in/timecode out ?
At the moment I see two things that could make it difficult at the moment :
- The low level RS422 commands to control a deck don't seem very well documented by decks manufacturers
- vrecord is single threaded, which would prevent the recording and real-time TC reading being done at the same time
Regarding the deck control the decklink API could be used but vrecord being a bash script, it might be better if we could control it directly sending low level commands to the /dev/tty.RS422 Deck Control
interface.
For the single thread issue, maybe a side script could read the TC from the serial port and start and stop the recording when the values are reached ?
Just mixed ideas there... :)
Side note if it can be useful, I found the link for an unofficial Sony 9-Pin protocol specs which I was looking for to control our JD30 deck.
ftp://ftp.jurassic.nl/mirrors/ftp.sgi.com/sgi/video/rld/vidpage/s9pinnt.html
cc'ing @bturkus on this idea, but we were thinking of merging the functions of https://github.com/bavc/deckcontrol into vrecord. Also the features you're suggesting seem doable. We could have a background process watch the tail of the timecode file as it writes and send a kill command to ffmpeg when a timecode out is found. That would be close but not frame accurate.
Hi @YohannLYD this is great idea, and as Dave kinda alluded, we've been planning on some deck control-related work sometime soon. If you have any additional ideas, please share them here (or in separate issues), and we'll try to incorporate them into future plans. Thanks!
I didn't know about deckcontrol. It's a pretty neat utility! Tailing the timecode file sounds like a good solution as perfect frame accuracy is not a requirement in my case.
Is there a basic ffmpeg command line to output the vitc2 timecode value on the stout?
I am going to give a try to see if I can tweak something between a ffmpeg process and deckcontrol.