Posso de alguma forma combinar esses dois comandos em um único?

Posso de alguma forma combinar esses dois comandos em um único?

Tenho arquivos de vídeo no formato MP4. Eu preciso convertê-los para MP2. Porém, quando eles ultrapassam um determinado tamanho de arquivo no formato MP2, também preciso cortá-los em arquivos menores.

Para isso, atualmente tenho dois comandos:

Comando de conversão

ffmpeg -i INPUTfile -codec:v mpeg2video -qscale:v 0 OUTPUTfile

Comando de corte (os valores de tempo são apenas para exemplo)

ffmpeg -ss 00:00:00.00 -i INPUTfile -to 00:10:00.00 -c copy -copyts OUTPUTfile

Atualmente, eu converto o arquivo de vídeo, verifico o tamanho do arquivo. Se for muito grande, primeiro cortarei o arquivo de vídeo original e depois converterei as 'partes' para MP2.

Sou novo no ffmpeg e gostaria de saber se poderia combinar esses dois comandos em um. Novamente, o que preciso fazer é converter um arquivo MP4 e cortá-lo. Se eu fizer a conversão primeiro e o corte depois, ou o contrário, não importa muito para mim.

Precisarei executar o comando de corte várias vezes, pois decidirei programaticamente em quantas 'partes' cortarei o arquivo. No entanto, o(s) resultado(s) final(is) precisa(m) estar em MP2, independentemente de quantas “partes” eu tiver.

Responder1

Como seu segundo comando está dividindo o tempo, este é o melhor lugar para começar a "mesclar" esses comandos.

Você deve simplesmente ser capaz de substituir os -c copy -copytsparâmetros de conversão de codec apropriados em seu primeiro comando. Esses parâmetros significam basicamente "apenas copiar o fluxo como está", enquanto os outros parâmetros de tempo definem os pontos de início e parada. Como resultado, podemos alterar “copiar o stream” para “converter o vídeo” a partir do seu primeiro comando.

Os parâmetros do seu primeiro comando relacionados à conversão de mp4 em mp2 são -codec:v mpeg2video -qscale:v 0. É codec:v mpeg2videoaconselhável ffmpegusar o codificador mpeg2video e qscaleser 0 significa "melhor qualidade".

De qualquer forma, uma transposição rápida dá-lhe

ffmpeg -ss 00:00:00.00 -i INPUTfile -to 00:10:00.00 -codec:v mpeg2video -qscale:v 0 OUTPUTfile

informação relacionada