Streamer from MiniDV-camcorder

    Sometimes you may want a strange one. That seems to be the MiniDV video camera itself and it lies. There are no requests. And what if we take and write on her cassettes not even a video at all, but, say, files. Record is still digital. Let the volume of the cassette is only about 13 GB (for the data it turned out to take about 9.5 GB), even if the read speed is 3.5 MB per second, but you’ll get a simple home drive. So to say, “a streamer for the poor.” Why not send to multiple tapes, say, any important files. Just so, just in case. Let's try!

    What is the basis for recording data on a MiniDV camcorder? Yes, instead of audio data and parts of video data, it is simply possible to slip data files — a digital format with a separate compression of each frame using the same algorithm. It remains to the program that it can do.

    Searching on the Internet how to use a household video camera as a streamer, I found mentioning several programs on forums and articles a decade ago. For Windows, for example, these were DVStreamer Pro and DVStreamer Lite. For the first ten years ago, the authors asked about $ 60. The second is free, but with a lot of restrictions (256 files no more than 8 MB each or one file no more than a gigabyte). Plus, numerous complaints about the unstable operation of both versions. After downloading this software from the manufacturer’s page (for some reason, the Lite version is no longer there - it looks like the program is now one), another 30-day period was discovered for, so to speak, a trial. And yes, this program, just like a decade ago, is unstable and easily takes off from the change of weather on Mars. But she can directly control the camera and automatically rewind to the desired file.

    Well, and what is available for Linux? It turns out that something is available, namely dvbackup-0.0.4. This program is capable of transferring the data stream transferred to it in the RAW DV format and transmit for recording to another dvcontrol program included in the package. Well, in the reverse order, it can also extract files from RAW DV.

    Unfortunately, I did not manage to start dvcontrol - it consistently did not see data on the ieee1394 from the video camera. But what if you deal with dvbackup and create the RAW DV file yourself with your own gadgets? For example, instead of a static logo shown by a video camera while playing a video from dvbackup, make your logo by adding a progress bar and the name of the recorded file, as well as add support for folders.
    It remains to decide what would be such a RAW file to read and write to the camera. However, the Kino video editor has been able to do this for a long time. Here we will also use it for work with a video camera. No sooner said than done. Having disassembled dvbackup into parts, and having rather quickly formed a data file, I was convinced that Kino could write this file to the camera (while cursing at the impossible frequency). But can not be considered. No, says the video stream. The camera, meanwhile, perfectly displays this video stream on the small screen.

    It was here that I had to very carefully go through the DV format, gradually replacing parts of dvbackup (often, with the author’s comments about “magic numbers” and unknown assignments) with correct and appropriate DV-format descriptions. A number of data had to be decrypted directly from the real stream from the video camera, since in my description of the DV-format such block identifiers are not described. As a result, after the next file completion, it turned out that Kino is quite satisfied with the received video file and is able to write and read this file without any problems. However, apparently, the reason for the initial rejection was that I turned off the audio when I created the RAW DV file for the first time. Was it the case, I didn’t even check now

    So, as a result of the experiments, this is how the program for Windows turned out:



    It can collect files into a RAW DV video file and extract files from such a video file. You can also clear the report and interrupt processing if you change your mind. At the beginning of the video data and before each file, you can specify a prefix - this is such an empty block that facilitates positioning at the beginning of the file (between files (local prefix) you can not do at all, but at the very beginning (global prefix) you should most often ask - this will make it easier search for the beginning of the file block). All this is configured in the program dialogs. There is also a data verification mode in the DV-video file. In this mode, files are extracted, but not saved.

    You can write the resulting video file to tape with any editor that allows you to record RAW DV files. In one of the variants of the program, I made the assembly of RAW DV inside the AVI file, but it turned out that the video editors I used during the export lose the data placed in the DV-format. Therefore, this option had to be abandoned.

    Writing data to a camcorder in Kino looks like this:



    And this is how the recording process on the camcorder looks like:



    How reliable is such a tape drive? I recorded part of a 9.5 GB photo album on a cassette as a set of jpg photo files of about 1-3 MB each. When reading the failure was recorded in three files.

    Of course, I would like to control the camera directly, but I have not yet found a clear description of how to work with the camera on the ieee1394. The only book where at least something was written is “Windows hardware programming”, but the example shown there, first, contains errors, and second, just found me the device of the ieee1394 board installed in the computer, and not at all video camera. The attempt to send and receive data from the board was not successful. Therefore, if someone can talk about working with the camera on ieee1394 using WinAPI and in C / C ++, I will be very grateful to him.

    I found a description of the format DV.

    Program repository on GitHub

    Source code and executable file

    Also popular now: