Posso dividir um arquivo avi em 2 arquivos válidos (assistidos) com apenas comandos unix padrão?

4

A pergunta é auto-explicativa. Eu tenho um arquivo de filme muito grande, quero dividi-lo em 2. Como posso fazer isso?

    
por Stephane 27.11.2013 / 23:47

1 resposta

8

Você pode fazer isso usando ffmpeg . Essa abordagem pressupõe que você saiba a duração do vídeo e deseja dividi-lo manualmente em um ponto de tempo específico. Você pode usar ffmpeg para obter a duração assim.

Exemplo

$ ffmpeg -i me.avi |& grep Dura
  Duration: 00:01:43.27, start: 0.000000, bitrate: 16330 kb/s

Portanto, digamos que queremos dividi-lo em 1: 00.00 e 43.27, poderíamos fazer os seguintes 2 comandos para fazer isso:

# e.g. from start to 1 min.
$ ./ffmpeg -i me.avi -vcodec copy -acodec copy -t 00:01:00 output1.avi
# e.g. from 1 min. to end
$ ./ffmpeg -i me.avi -vcodec copy -acodec copy -ss 00:01:00 output2.avi

Depois ficamos com os seguintes resultados:

$ ls -l me.avi output*
-rw-rw-r-- 1 saml saml 210816000 Nov 27 21:36 me.avi
-rw-rw-r-- 1 saml saml 120361978 Nov 27 21:39 output1.avi
-rw-rw-r-- 1 saml saml  90571034 Nov 27 21:40 output2.avi

E as durações são agora:

$ ./ffmpeg -i output1.avi |& grep Dura
  Duration: 00:01:00.00, start: 0.000000, bitrate: 16048 kb/s
$ ./ffmpeg -i output2.avi |& grep Dura
  Duration: 00:00:43.27, start: 0.000000, bitrate: 16743 kb/s

Referências

por 28.11.2013 / 03:44