Concatenando arquivos de vídeo ogg da linha de comando

18

Ok. Eu tenho alguns arquivos ogg que eu criei usando uma ferramenta de gravação de desktop . Eu os transcodifiquei usando ffmpeg uma vez (principalmente para recortar os inícios e as extremidades).

Agora, tenho 3 desses arquivos que quero concatenar em um único arquivo .ogv . Eu tentei usar oggCat , ele caiu com algum tipo de erro (eu tentei concatenar um arquivo para si mesmo usando oggCat e isso falhou também levando-me a acreditar que minha distro está enviando uma versão quebrada do pacote). Simplesmente cat ing os arquivos funciona, mas eu não posso procurar o que não é legal. mencoder é executado assim mencoder -ovc lavc -oac lavc file1.ogv file2.ogv file3.ogv -o complete.ogv . Ele transcodifica os arquivos em avi e recorta um pouco dos três vídeos.

Então, como faço isso?

Atualização 1: minha solução alternativa atual é transcodificar os três arquivos em .mpg usando ffmpeg e, em seguida, cat juntá-los e transcodificá-los novamente em ogv .

Atualização 2: PiTiVi funciona para esse tipo de coisa, mas eu preciso de algo da linha de comando que eu possa automatizar e rotear.

    
por Noufal Ibrahim 13.12.2011 / 18:34

4 respostas

9
O

Ogg Video Tools parece fazer o que você está procurando.

Descrição resumida:

Sometimes it would be nice to concatenate (join) two or more video files. For that you can use oggCat, which creates a continuous Ogg video file from the given files.

# oggCat newFile.ogv file1.ogv file2.ogv [ file3.ogv [...] ]

Observação: os arquivos de vídeo devem corresponder à taxa de quadros, intervalo do quadro-chave, tamanho do quadro, etc.

Veja mais aqui e aqui .

    
por 22.12.2011 / 08:47
5

Eu usaria o demuxer de concat do ffmpeg para isso (requer uma versão recente do ffmpeg).

Primeiro, crie um arquivo chamado entradas.txt (ou qualquer nome arbitrário), contendo linhas como:

file '/path/to/input1.ogv'
file '/path/to/input2.ogv'
file '/path/to/input3.ogv'

Observe que isso pode ser um caminho de arquivo relativo ou absoluto. Se seus arquivos estiverem todos no mesmo diretório e nomeados em um padrão similar a input1.ogv, input2.ogv ... , você poderá usar um loop for para gerar inputs.txt:

rm inputs.txt; for f in input*.ogv; do echo "$f" >> inputs.txt; done

Depois de criar seu arquivo, você pode concatenar sem perda os arquivos ogv assim:

ffmpeg -f concat -i inputs.txt -c copy output.ogv
    
por 31.01.2013 / 00:44
1

Você já tentou usar PiTiVi ? Coloque os três clipes seqüencialmente na linha do tempo e salve o resultado como um arquivo.

    
por 21.12.2011 / 22:52
1

link tem um recurso,

  • merge Mesclar arquivos Ogg juntos, intercalando páginas na ordem do tempo de apresentação.

Edit: Isso não faz o que você quer como você quer jogar um vídeo após o outro.

O link também pode funcionar, a sintaxe ( link ):

 sox infile1 infile2 outfile

Editar: isso lida apenas com áudio.

Você pode tentar compilar o oggvideotools e veja se oggCat funciona.

Edit: isso funcionou para você ...

Você pode perguntar no link para corrigir os problemas da sua distribuição, incluindo o texto das mensagens de erro que você tem quando você 1) executa o binário que você obtém dos seus repositórios de distribuição 2) compila 3) executa a versão compilada.

Edit: você está procurando por programas alternativos para fazer a concatenação.

Tente usar mkvtoolnix para concatenar os arquivos ogg em um mkv único e, em seguida, extrair o ogg dele usando a mesma ferramenta

    
por 18.12.2011 / 23:33