Para testar, quero converter um arquivo MP3 e WAV que tenho no Opus. Quais são as etapas para fazer isso?
conversion
ogg-opus
Luis Alvarado
fonte
fonte
Respostas:
Por padrão, o conversor de áudio fornecido com as ferramentas do opus pode converter áudio nos formatos raw, wave ou AIFF. A sintaxe mínima usa as configurações padrão:
Podemos adicionar uma taxa de bits melhor como os 96 kbps padrão com a opção
--bitrate N.nnn
(para todas as opções, consulte a página de manual para opusenc).Para converter mp3 "on the fly". ou seja, sem criar um arquivo temporário, podemos canalizar a saída do avconv para o opusenc como este:
fonte
for f in *.flac; do ffmpeg -i "$f" -f wav - | opusenc --bitrate 140 - "${f%.flac}.opus"; done
(eu escolhi 140 como uma taxa de bits porque de acordo com este é mais do que suficiente para arquivos de som.O Ubuntu 14.04 e o Debian 8 são fornecidos com a versão 9 do
libav-tools
em seus repositórios e possuem suporte interno para o Opus através do pacotelibopus0
.Exemplo 1: recodifique um arquivo de áudio como opus
Com a versão 9
libav-tools
elibopus0
instalada, você pode simplesmente, por exemplo, fazer:O que as opções fazem
-i file.mp3
define o arquivo de entrada.-map 0:a
selecionará todos os fluxos de áudio (a
) do arquivo de entrada0
. Leia mais sobre-map
em https://libav.org/avconv.html#Advanced-options-codec:a opus
seleciona o codificador opus para os fluxos de áudio (a
). Leia mais sobre-codec
sobre https://libav.org/avconv.html#Main-options .-b:a 100k
define a taxa de bits do áudio para 100 kilobit / s. Leia mais sobre-b
em https://libav.org/avconv.html#Codec-AVOptions-vbr on
ativa a taxa de bits variável. Esta é uma opção específica para libopus. Aqui estão todas as opções para libopus:file.opus
define o arquivo de saída.Exemplo 2: pegue o áudio de um arquivo de vídeo e codifique-o como opus
Pegue o segundo fluxo da primeira entrada (
-map 0:1
), que é o fluxo de áudio. Codifique-o com libopus a 100 kbit / s com taxa de bits variável em:Com o pacote
mediainfo
instalado:fonte
-map 0:a
faz? (E talvez detalhar a toda a linha?)Opus em 12.04
No 12.04 (Precise), no entanto, existem problemas de dependência na instalação dos codecs e ferramentas do opus, por isso descobri que a melhor solução é a que ficou disponível recentemente: compile o codificador e o decodificador de áudio opus, conforme observado aqui , e crie
ffmpeg
com o suporte do opus adicionando--enable-opus
às opções de configuração deffmpeg
(conforme listado no guia de compilação ).Eu sei que isso
ffmpeg
foi preterido no Ubuntu em favorLibav
, mas compilar é uma boa maneira de obter um codificador / decodificador opus totalmente funcional integrado affmpeg
ele mesmo. Você pode usá-lo para converter arquivos (primeiro para wav) e depois para.opus
. A documentação instalada com libopus e ffmpeg revelará todas as opções que podem ser usadas para converter arquivos.Ao converter arquivos com
ffmpeg
após a compilação, você deve especificar-acodec libopus
ouffmpeg
não usará o codec opus:Você pode testar o arquivo criado com
Dicas de compilação
Não há necessidade de reproduzir o guia aqui na íntegra, mas vale a pena notar uma ou duas coisas:
Você deve primeiro instalar as dependências conforme listado (eu omito
yasm
na lista: veja meu segundo ponto):Há um problema que deve ser destacado: o build do git parece querer
yasm-1.2
, e isso não está disponível; portanto, você deve compilar a fonte do site oficial , mas é simples. Apenas remova todas as versões instaladasyasm
e descompacte o arquivo baixadocd
na pasta, execute./configure && make
e depoissudo checkinstall
. Se qualquer outra construção exigir a versão anterior, você poderá remover esta versão e instalar a versão do repositório.É necessário remover qualquer existente
libav
,ffmpeg
,x264
,libvpx
, oufdk-aac
pacotes antes de você começar a compilar.É crítico que você compilar e instalar
x264
,fdk-aac
,libvpx
eopus
antes de construirffmpeg
, como as bibliotecas serão utilizadas na compilação.Não se esqueça de adicionar
--enable-opus
às opções de configuração ao executar affmpeg
compilação.A versão do opus compilada era 1.1alpha, portanto, talvez seja necessário recompilar a biblioteca opus e o ffmpeg no futuro novamente quando uma nova versão for lançada.
Você pode usar
ffplay
para reproduzir todos os arquivos opus criados.fonte
É assim que eu faço:
EDITAR:
Para audiófilos:
Não há necessidade de especificar a
--maxdelay 10
opção porqueopusenc
faça isso por padrão.Saída do console para esta conversão de arquivo (
--bitrate 320
):É super rápido! Menos de 8 segundos com uma complexidade de 10. (Codificação de complexidade computacional (0-10, padrão: 10). Zero fornece os códigos mais rápidos, mas com qualidade inferior, enquanto 10 fornece a qualidade mais alta, porém com codificação mais lenta) e um tempo de atraso máximo de 10ms ( Atraso máximo do contêiner em milissegundos (0-1000, padrão: 1000)); portanto, se você pular o tempo em uma música, o efeito de recorte terá uma duração de 10ms, tornando-o imperceptível (tente com 1000 e ouça a diferença de tempo com o seu rato). A taxa de bits é VBR por padrão. 320kbps funcionaram para mim, portanto, é opcional, brinque com este número:
--bitrate N.nnn
=> Taxa de bits desejada em kbit / s (6-256 por canal)A propósito, codificar de MP3 para OPUS não é uma boa idéia, não vai soar melhor, seus algoritmos de compressão são muito diferentes. Mas de FLAC ou WAV ou qualquer outro formato de áudio sem perdas , isso é outra história.
Nota: Para codificar outro arquivo, basta pressionar a Seta para cima no mesmo terminal para chamar o último comando e alterar o nome dos arquivos de entrada e saída.
Se você está procurando uma interface gráfica ffmpeg / avconv, talvez o TraGtor seja o que você precisa.
Você também pode verificar as diferenças do espectograma entre os formatos Lossless e Lossy com altas taxas de bits com Spek ou Audacity .
fonte
Error parsing input file: Hardvapour remix-.mp3
estou usando o 16.04opus-tools
eAudex
.Abra o Audex e adicione um novo perfil chamado Opus, adicione Padrão de comando;
opusenc $i --comment="TRACKNUMBER="$trackno"" --artist "$artist" --album "$title" --title "$ttitle" --date "$date" --picture "$cover" $o
e sufixo
opus
fonte