AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1422460
Accepted
peiman F.
peiman F.
Asked: 2019-04-08 01:05:57 +0800 CST2019-04-08 01:05:57 +0800 CST 2019-04-08 01:05:57 +0800 CST

Codec e configuração para saída ffmpeg de taxa de bits mais baixa

  • 772

Preciso converter meu arquivo de áudio de entrada para o menor tamanho possível para transferi-lo por um transmissor de rádio.

Agora, com o codec AAC e o formato MP3, usei 8 kbps para taxa de bits, 16 kHz para taxa de amostragem e 1 canal, e meus dados de saída são de cerca de 3 kb por segundo.

Mas quando altero a taxa de amostragem para 8 kHz ou uma taxa de bits menor, recebo um erro informando que o codec não oferece suporte a essa configuração.

Existe uma configuração para obter uma taxa mais baixa para o arquivo de saída?

PS: Como estou trabalhando no Android, é difícil instalar codecs, então devo usar os codecs padrão ffmpeg.

Atualizar:

eu usei a linha de comando opus agora este é o meu comando:

ffmpeg -i a.mp3 -vn -c:a libopus -ac 1 -ar 8000 -b:a 500 -vbr constrained -compression_level 0 -application lowdelay output22.mkv

e o resultado é

Input #0, mp3, from 'a.mp3':
  Metadata:
    title           : Salam (myahangha.ir)
    artist          : Sogand
    album           : Javooni
    comment         : ..:: myahangha.ir ::..
    genre           : 2019
    date            : 2019
  Duration: 00:03:15.24, start: 0.000000, bitrate: 324 kb/s
    Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
    Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 500x500 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    Metadata:
      title           : Radio Javan - Javooni.jpg
      comment         : Other
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 (mp3float) -> opus (libopus))
Press [q] to stop, [?] for help
[libopus @ 0000028b84d9e200] Bitrate 500 is extremely low, maybe you mean 500k
The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s
Output #0, matroska, to 'output24.mkv':
  Metadata:
    title           : Salam (myahangha.ir)
    artist          : Sogand
    album           : Javooni
    comment         : ..:: myahangha.ir ::..
    genre           : 2019
    date            : 2019
    encoder         : Lavf58.27.102
    Stream #0:0: Audio: opus (libopus) ([255][255][255][255] / 0xFFFFFFFF), 8000 Hz, mono, flt, 0 kb/s
    Metadata:
      encoder         : Lavc58.51.100 libopus
size=     116kB time=00:03:15.25 bitrate=   4.9kbits/s speed= 396x
video:0kB audio:57kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 103.282921%

parece que opus não aceita taxas de bits inferiores a 4,9kbps :(

ffmpeg audio android
  • 1 1 respostas
  • 6694 Views

1 respostas

  • Voted
  1. Best Answer
    slhck
    2019-04-08T02:39:08+08:002019-04-08T02:39:08+08:00

    AAC ou MP3 não são a melhor escolha de codecs para transmissões de largura de banda ultrabaixa. Use um codec de fala adequado com maior eficiência.

    Opus é a melhor opção. Está disponível em FFmpeg através de libopus. Na verdade, o Opus não é feito apenas para fala; oferece codificação híbrida para fala e música .

    Exemplo:

    ffmpeg -i <input> -c:a libopus -ac 1 -ar 16000 -b:a 8K -vbr constrained out.opus
    

    Aqui, -acdefine a saída para mono, -ardefine a taxa de amostragem para 16 kHz e -b:adefine a taxa de bits para 8 kBit/s. O modo de taxa de bits variável restrita é usado aqui. Em princípio, não é estritamente necessário fazer downsampling e downmix para mono com ffmpeg, pois isso é algo libopusque fará por conta própria para atingir a meta de taxa de bits especificada.

    Algumas outras recomendações são dadas aqui . Observe que com Opus, 6–8 kBit/s é a faixa utilizável para fala (mono, taxa de amostragem mais baixa), mas não para música.

    Você encontrará uma comparação interessante de diferentes codecs e sua curva de taxa de bits/qualidade no site da Opus :

    Devo acrescentar que este número é apenas uma indicação; é compilado a partir de diferentes resultados de testes e conhecimento anedótico.

    • 8

relate perguntas

  • Os vídeos compactados podem ser decodificados de volta ao formato original não compactado?

  • O fone de ouvido bluetooth Sony WH-1000XMX2 não consegue se conectar corretamente automaticamente

  • Como posso receber arquivos via Bluetooth sem primeiro solicitar o recebimento?

  • O teste instrumentado do Android Studio falha com "DerInputStream.getLength(): lengthTag=109, muito grande."

  • Por que não consigo enviar arquivos do Android para o Windows 10?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve