Aqui está um quebra-cabeça de áudio MP3 do Linux que está me incomodando há algum tempo:
Como cortar os primeiros segundos de um MP3 arquivo de áudio? (Não consigo fazer com que ffmpeg -ss
funcione com o formato 00:01 ou 1.000)
Até agora, para fazer o que eu quero, eu recorro em uma forma de GUI que talvez seja mais lenta para um único arquivo e definitivamente mais lenta para um lote de arquivos.
Comentários
- Uma atualização. Mais tarde, eu descobri o fato de que o ffmpeg é muito exigente quanto ao formato de hora –ss, e fui capaz de cortar mais facilmente os primeiros 9 segundos, por exemplo, especificando -ss 00:00:09 (note que ele precisa de todos os 3 números em formato hh: mm: ss) A versão que eu estava usando pode ser antiga … FFmpeg versão SVN-r18709, Copyright (c) 2000-2009 Fabrice Bellard, et al.
Resposta
Para editar mp3 “s no linux, recomendo sox . um efeito trim
simples de usar que fará o que você pedir (consulte man sox
para datails – pesquisa (pressione /
) para” início de corte “). Exemplo:
sox input.mp3 output.mp3 trim 1 5
Você não mencionou isso, mas se seu objetivo é apenas remover o silêncio no início dos arquivos, você encontrará o silence
efeito muito mais útil (man sox
, pesquise por “períodos acima” )
Comentários
- Obrigado, incrível: funcionou. Acabei usando o
trim
para simplificar. O único downer foisox FAIL formats: can't open output file 'blah.mp3': SoX was compiled without MP3 encoding support
– então, digite novamente ffmpeg: / - Isso parece incomum. No meu computador, funciona sem problemas com mp3s. É uma questão de configuração em tempo de construção. Como você o instalou?
- @rozcietrzewiacz, se você instalar o sox de um repositório de distribuição, provavelmente obterá o sox sem suporte para MP3 (por causa de problemas de licença). Por exemplo, no Fedora 17:
no handler for file extension mp3
- Eu ' estou tendo dificuldade em entender como compilar sox com mp3 Apoio, suporte. Sem FAQ, sem google, nada. E a questão era sobre cortar usando ffmpeg …
Resposta
Você poderia tentar usar mp3splt , que pode dividir arquivos MP3 e Ogg e tem a vantagem de não recodificar o arquivo, evitando perda de qualidade.
Comentários
- Eu gosto; obrigado. É simples, mas tem muitas opções … Por exemplo: aqui está o comando que acabei de usar, que adiciona os tempos parciais ao nome do arquivo:
mp3splt "$file" 4.12 27.55.7
… Permite formatação de nome de saída personalizada e vários pontos de divisão.
Resposta
Certifique-se de que suas especificações de tempo comecem com horas.
Para citar a página do manual do ffmpeg :
posição pode ser em segundos ou na forma “hh: mm: ss [.xxx]”
Isso significa que quando você escolhe a 2ª sintaxe, apenas a .xxx
parte é opcional. Caso contrário, o ffmpeg pode interpretá-lo incorretamente como segundos.
O mesmo vale para a duração:
a duração pode ser um número em segundos ou in “hh: mm: ss [.xxx]”
Outra armadilha é a ordenação dos argumentos ffmpeg (por exemplo, o -ss
/ -t
opções para um arquivo de entrada devem vir antes da opção -i
).
Exemplo
$ wget http://traffic.libsyn.com/twiv/TWiV179.mp3 $ ffmpeg -ss 1:05:59.3 -t 00:02:03.9 -i TWiV179.mp3 -acodec copy \ what_is_a_hmm_twiv179.mp3
Com a especificação -ss 1:05:59.3 -t 2:03.9
você obteria um resultado diferente (ou seja, um pedaço de 2 segundos).
(Testado em Fedora 17 com ffmpeg versão 0.10.7.)