Às vezes você pode querer algo estranho. Parece que a câmera de vídeo padrão MiniDV mente para si mesma e mente. Não há pedidos. Mas e se você gravar e gravar nas fitas dela, nem mesmo vídeos, mas, digamos, arquivos. A gravação ainda é digital. Deixe o volume do cassete ter apenas 13 GB (os dados demoram cerca de 9,5 GB), deixe que ele tenha uma velocidade de leitura de 3,5 MB por segundo, mas você obterá um simples streamer doméstico. Por assim dizer, "uma serpentina para os pobres". Por que não enviar alguns arquivos importantes para várias fitas? Apenas no caso. Vamos tentar!
Qual é a base para gravar dados em uma câmera de vídeo MiniDV? Sim, apenas é possível inserir dados do arquivo em vez de dados de áudio e parte dos dados do vídeo - formato digital com uma compactação separada de cada quadro, de acordo com o mesmo algoritmo. Continua sendo o caso de um programa que pode fazer isso.
Pesquisando na Internet como usar uma câmera de vídeo doméstica como serpentina, encontrei vários fóruns em fóruns e artigos há uma década. Para o Windows, por exemplo, foram o DVStreamer Pro e o DVStreamer Lite. Nos primeiros dez anos atrás, os autores pediram cerca de US $ 60. O segundo é gratuito, mas com muitas restrições (256 arquivos com no máximo 8 MB cada ou um arquivo com mais de um gigabyte). Além de inúmeras reclamações sobre o funcionamento instável das duas versões. Depois de baixar esse software da página do fabricante (por algum motivo, a versão Lite não está mais lá - parece que o programa agora é um), outro período de 30 dias foi encontrado para um teste, por assim dizer. E sim, esse programa, como uma década atrás, é instável e foge facilmente das mudanças climáticas em Marte. Mas ela sabe como controlar diretamente a câmera e retroceder automaticamente para o arquivo desejado.
Bem, o que está disponível para Linux para nós? Acontece que algo está disponível, ou seja, dvbackup-0.0.4. Este programa pode empacotar o fluxo de dados transferido para ele no formato RAW DV e transferi-lo para gravação em outro programa dvcontrol incluído no kit. Bem, na ordem inversa, ele também pode extrair arquivos do RAW DV.
Infelizmente, não consegui obter o dvcontrol - ela não viu dados ieee1394 da câmera de vídeo. Mas e se você lida com o dvbackup e gera um arquivo RAW DV com seus próprios gadgets? Por exemplo, em vez do logotipo estático exibido pela câmera de vídeo durante a reprodução de vídeo do dvbackup, faça seu logotipo adicionando uma barra de progresso e o nome do arquivo gravado, além de adicionar suporte a pastas.
Resta decidir o que esse arquivo RAW deve ler e gravar na câmera. E, no entanto, tudo isso foi capaz de editar o vídeo Kino. É isso que usaremos para trabalhar com uma câmera de vídeo. Mal disse o que fez. Depois de desmontar o dvbackup em partes e gerar rapidamente um arquivo de dados, fiquei convencido de que o Kino pode gravar esse arquivo na câmera (enquanto xinga em uma frequência impossível). Mas ele não pode contar. Não, diz o fluxo de vídeo. Enquanto isso, a câmera exibe o mesmo fluxo de vídeo na tela.
Foi então que tive que analisar cuidadosamente o formato DV, substituindo gradualmente partes do dvbackup (geralmente com comentários do autor sobre "números mágicos" e destinos desconhecidos) pelos corretos que correspondiam à descrição do formato DV. Alguns dados tiveram que ser descriptografados diretamente do fluxo real da câmera de vídeo, pois, na minha descrição do formato DV, esses identificadores de bloco não são descritos. Como resultado, após outra revisão de um arquivo, o Kino satisfaz completamente o arquivo de vídeo recebido e é capaz de escrever e ler esse arquivo sem problemas. No entanto, aparentemente, o motivo da rejeição inicial foi que desliguei o áudio quando criei o arquivo RAW DV pela primeira vez. Mas essa foi a única coisa que eu nem verifiquei agora
Portanto, como resultado das experiências, obtivemos um programa para Windows:

Ela sabe como coletar arquivos em um arquivo de vídeo RAW DV e extrair arquivos desse arquivo de vídeo. Você também pode limpar o relatório e interromper o processamento se mudar de idéia. No início dos dados do vídeo e antes de cada arquivo, você pode especificar um prefixo - este é um bloco vazio que facilita o posicionamento no início do arquivo (entre arquivos (prefixo local), você não pode fazê-lo, mas no início (prefixo global) geralmente é necessário definir - isso facilitará procure o início de um bloco de arquivo). Tudo isso é configurado nas caixas de diálogo do programa. Há também um modo para verificar dados em um arquivo de vídeo DV. Nesse modo, os arquivos são extraídos, mas não salvos.
Você pode gravar o arquivo de vídeo resultante em fita com qualquer editor que permita gravar arquivos RAW DV. Em uma versão do programa, fiz a montagem do RAW DV dentro de um arquivo AVI, mas os editores de vídeo que usei perderam os dados colocados no formato DV ao exportar. Portanto, essa opção teve que ser abandonada.
A gravação de dados em uma câmera de vídeo no Kino se parece com a seguinte:

E é assim que o processo de gravação em uma câmera de vídeo se parece:

Quão confiável é uma serpentina? Gravei na parte da fita do álbum de fotos de 9,5 GB como um conjunto de arquivos jpg de cerca de 1-3 MB. Ao ler, uma falha foi registrada em três arquivos.
Obviamente, eu gostaria de controlar a câmera diretamente, mas ainda não encontrei uma descrição clara de como trabalhar com a câmera em ieee1394. O único livro em que pelo menos alguma coisa foi escrita é “programação de hardware do Windows”, mas o exemplo indicado lá, primeiro, contém erros e, em segundo lugar, acabou de me encontrar o dispositivo da placa ieee1394 instalada no computador, mas nem um pouco filmadora. Uma tentativa de enviar e receber dados do quadro não teve êxito. Portanto, se alguém puder falar sobre como trabalhar com a câmera em ieee1394 usando WinAPI e C / C ++, ficarei muito grato a ele.
A descrição do formato DV que encontrei.Repositório do programa GitHubO arquivo de origem e executável do programa