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 / 1429256
Accepted
algol
algol
Asked: 2019-04-25 11:24:31 +0800 CST2019-04-25 11:24:31 +0800 CST 2019-04-25 11:24:31 +0800 CST

Produzindo vídeo sem perdas a partir de um conjunto de imagens .png usando ffmpeg

  • 772

Eu tenho um conjunto de imagens .png que gostaria de animar em um filme usando ffmpeg no macOS, mas quando olho para o vídeo produzido, a qualidade é sempre compactada e o vídeo resultante tem artefatos quando a imagem original não tem. Aqui está uma imagem do vídeo , bem como a mesma seção da imagem original . Eu tentei codificar usando o codec h.264 com crf = 0, mas estou recebendo um erro estranho quando executo o ffmpeg:

O codec AVOption crf (selecione a qualidade para o modo de qualidade constante) especificado para o arquivo de saída nº 0 (test.mp4) não foi usado para nenhum fluxo. O motivo mais provável é o tipo errado (por exemplo, uma opção de vídeo sem fluxos de vídeo) ou uma opção privada de algum codificador que não foi realmente usado para nenhum fluxo.

Eu usei o seguinte comando ffmpeg para gerar isso:

ffmpeg -f image2 -r 10 -i image%05d.png -vcodec h264 -crf 0 -y test.mp4

Uma possibilidade é que esteja desativado (veja a saída completa do console abaixo), mas isso não faz sentido para mim porque aparece quando listo os codecs ffmpeg com ffmpeg -codecscomo

DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: h264_videotoolbox )

Aqui está a entrada/saída completa do console:

ffmpeg -f image2 -r 10 -i image%05d.png -vcodec h264 -crf 0 -y test.mp4
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with clang version 4.0.1 (tags/RELEASE_401/final)
  configuration: --prefix=/Users/user/anaconda3 --cc=x86_64-apple-darwin13.4.0-clang --disable-doc --enable-shared --enable-static --enable-zlib --enable-pic --enable-gpl --enable-version3 --disable-nonfree --enable-hardcoded-tables --enable-avresample --enable-libfreetype --disable-openssl --disable-gnutls --enable-libvpx --enable-pthreads --enable-libopus --enable-postproc --disable-libx264
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
Input #0, image2, from 'image%05d.png':
  Duration: 00:00:25.00, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgba(pc), 1382x1036 [SAR 2834:2834 DAR 691:518], 10 fps, 10 tbr, 10 tbn, 10 tbc
Codec AVOption crf (Select the quality for constant quality mode) specified for output file #0 (test.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
  Stream #0:0 -> #0:0 (png (native) -> h264 (h264_videotoolbox))
Press [q] to stop, [?] for help
GVA info: Successfully connected to the Intel plugin, offline Gen95 
[h264_videotoolbox @ 0x7fc150018600] Color range not set for yuv420p. Using MPEG range.
Output #0, mp4, to 'test.mp4':
  Metadata:
    encoder         : Lavf58.12.100
    Stream #0:0: Video: h264 (h264_videotoolbox) (avc1 / 0x31637661), yuv420p, 1382x1036 [SAR 1:1 DAR 691:518], q=2-31, 200 kb/s, 10 fps, 10240 tbn, 10 tbc
    Metadata:
      encoder         : Lavc58.18.100 h264_videotoolbox
frame=   82 fps=0.0 q=-0.0 size=       0kB time=00:00:07.70 bitrate=   0.0kbits/frame=  196 fps=195 q=-0.0 size=     256kB time=00:00:19.10 bitrate= 109.8kbits/frame=  250 fps=198 q=-0.0 Lsize=     616kB time=00:00:24.90 bitrate= 202.5kbits/s speed=19.7x    
video:614kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.305027%

Solução: Aparentemente era de fato a --disable-libx264tag que era o meu problema. Aparentemente, é necessário instalar o ffmpeg do conda-forge em vez do anaconda padrão para poder codificar o vídeo x264.

ffmpeg compression
  • 1 1 respostas
  • 16405 Views

1 respostas

  • Voted
  1. Best Answer
    llogan
    2019-04-25T11:54:15+08:002019-04-25T11:54:15+08:00

    Você está usando um valor genérico para -vcodeco qual, no seu caso, seleciona o codificador chamado h264_videotoolbox. Este codificador não usa arquivos -crf. Em vez disso, seja específico ao selecionar um codificador e use libx264 (ou libx265):

    ffmpeg -framerate 10 -i image%05d.png -c:v libx264 -crf 0 output.mp4
    

    Se você quiser evitar a conversão do espaço de cores RGB para YUV, use libx264rgb:

    ffmpeg -framerate 10 -i image%05d.png -c:v libx264rgb -crf 0 output.mp4
    

    Se você quiser apenas fazer um vídeo PNG sem perdas, pode manter as imagens como estão:

    ffmpeg -framerate 10 -i image%05d.png -c:v copy output.mkv
    
    • 16

relate perguntas

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

  • Como salvar o fluxo de vídeo TS com ffmpeg 2.0.2?

  • Extraia I-frames para imagens rapidamente

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

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