Como cortar arquivo de áudio com avconv?

Como cortar arquivo de áudio com avconv?

Tenho dificuldade em descobrir como cortar um arquivo com extensão avconv. Aqui está o comando que eu uso:

avconv -ss 52:13:49 -t 01:13:52 -i RR119Accessibility.wav RR119Accessibility-2.wav 

Mas não funciona. Como resultado, recebo o arquivo inteiro. Bem, quase todo o arquivo. De alguma forma, o arquivo resultante tem duração 1:16:31em vez de 1:17:23. Também acredito que executei este comando de todas as maneiras possíveis: with -sse -tafter -i, -tespecificando o ponto final, com arquivos mp3, especificando o codec de áudio, with ffmpeg. Estou fazendo errado?

AtualizaçãoGraças a bodhi.zazenisso funciona (corrigi o deslocamento e a duração informados por mp3splt-gtk, eles estavam errados por um motivo ou outro, e o objetivo era cortar o arquivo mp3)

avconv -i RR119Accessibility.mp3 -ss 00:52:08 -t 00:01:08 RR119Accessibility-2.mp3

Mas isso não acontece:

avconv -ss 00:52:08 -t 00:01:08 -i RR119Accessibility.mp3 RR119Accessibility-2.mp3

O arquivo resultante começa em 00:52:08 e vai até o final do arquivo original. Eu pensei -sse -testou relacionado ao arquivo de entrada se especificado antes -i. E para gerar o arquivo de outra forma. Alguém poderia explicar isso?

Responder1

Acho que o problema original estava na formatação do seu carimbo de data/hora.

O formato é HH:MM:SS

Não tenho certeza se estou entendendo sua pergunta sobre a ordem das opções. Eu não acho que isso importe, desde que -i seja seguido pelo nome do arquivo de entrada e -ss HH:MM:SS siga meu -t HH:MM:SS

O -ss HH:MM:SS é o ponto de partida e -t HH:MM:SS é a duração

então -ss 00:01:00 -t 00:05:00 começaria na marca de um minuto e duraria 5 minutos.

No meu sistema, usando ffmpeg, a ordem não importa (você pode especificar a hora ou o arquivo de entrada em qualquer ordem, desde que -ss seja seguido pela duração (-t) )

Responder2

O problema vem do significado diferente de -ssdepender de onde ele está na linha de comando. É uma herança da época em que avconvainda fazia parte do ffmpegprojeto e acredito que esteja sendo corrigido nas versões mais recentes.

Antigamente, se você dissesse algo como

 ffmpeg -ss 5 -i input

O que você quis dizer foi "pular para a marca de 5 segundos no arquivo e começar a ler lá".

Mas se você disse

ffmpeg -i input -ss 5

Você quis dizer "abrir o arquivo de entrada e pular todos os dados até a marca de cinco segundos".

Como você pode entender, a primeira abordagem irá falhar com bastante frequência, porque você está pulando o arquivo sem lê-lo. Funciona bem apenas em arquivos que possuem carimbos de data e hora, permitindo que você leia o quadro e saiba se já foi longe demais ou não.

Basicamente, a maneira como funcionava no ffmpeg era "Adivinhe a taxa de bits no primeiro segundo e depois assuma que todos os outros segundos são iguais". Mas, claro, nem todos os segundos são iguais, e se estamos falando de 52 horas de “deriva” o erro pode ser bem grande.

Portanto, se você estiver usando a versão inicial pós-divisão do avconv, você deve sempre colocar -ssdepois do arquivo que está sendo lido. Mas nas versões mais recentes (até onde sei) esse bug foi corrigido.

Responder3

Tentar:

avconv -i RR119Accessibility.wav -ss 52:13:49 -t 01:13:52 RR119Accessibility-2.wav

As opções de ffmpeg e avconv são sensíveis à posição.

No seu exemplo, o ffmpeg começa a ler o arquivo e a gerar a saída de timestamp -ss
(que o ffmpeg funciona bem no meu sistema e o avconv não, chame-o de uma espécie de regressão).

No exemplo que dei aqui, avconv (ou ffmpeg) procura primeiro o deslocamento correto e depois inicia a leitura e a saída. Isso funciona para ambos.

Você pode encontrar mais documentação sobre avconv emhttp://libav.org esses caras criaram o ffmpeg e também são responsáveis ​​pela versão extremamente antiga do ffmpeg no Ubuntu.

O REAL ffmpeg não está nos repositórios do Ubuntu, mas em um PPA:
ppa:jon-severinsson/ffmpeg
Você pode encontrar mais documentação sobre o ffmpeg emhttp://ffmpeg.org

Considere as páginas de manual desatualizadas

informação relacionada