Como cortar arquivos de áudio com o avconv?

7

Eu tenho dificuldade em descobrir como cortar um arquivo com avconv . Aqui está o comando que eu uso:

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

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

UPD Graças a bodhi.zazen isto funciona (eu corrigi o offset e a duração reportados por mp3splt-gtk , eles estavam errados por alguma razão ou outra, e o objetivo era cortar 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 às 00:52:08 e vai até o final do arquivo original. Eu pensei que -ss e -t estão relacionados ao arquivo de entrada se especificado antes de -i . E para o arquivo de saída de outra forma. Alguém poderia explicar isso?

    
por x-yuri 02.11.2013 / 22:17

3 respostas

8

Acho que o problema original foi com a formatação do seu carimbo de data / hora.

O formato é HH: MM: SS

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

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

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

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

    
por Panther 02.11.2013 / 23:37
2

O problema vem do significado diferente de -ss dependendo de onde está a linha de comando. É uma transição dos dias em que avconv ainda fazia parte do projeto ffmpeg , e acredito que está 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 muita frequência, porque você está pulando no arquivo sem lê-lo. Ele funciona bem apenas nos arquivos que possuem timestamps, 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 presume que todos os outros segundos são os mesmos". Mas, é claro, nem todos os segundos são os mesmos, e se estamos falando de 52 horas de "drift", o erro pode ser bem grande.

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

    
por v010dya 10.11.2014 / 19:04
0

Tente:

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 inicia a saída do timestamp -ss
(que ffmpeg faz bem no meu sistema e avconv não, chama de uma regressão das sortes).

No exemplo que eu dei aqui, avconv (ou ffmpeg para esse assunto) procura primeiro o offset correto e então começa a ler e a produzir. Isso funciona para ambos.

Você pode encontrar mais documentação sobre o avconv no link esses caras se livraram do ffmpeg e também são responsáveis pela versão extremamente antiga do ffmpeg no Ubuntu.

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

Considere as páginas do manual desatualizadas

    
por thom 02.11.2013 / 22:42

Tags