Qual é a diferença entre "-vcodec copy" e "-sameq" do FFmpeg?


Respostas:


4

-sameq não força você a usar o mesmo codec de vídeo. Você pode, por exemplo, converter H.264 em DivX enquanto usa -sameq.


Se um codec de vídeo não for especificado, qual é a diferença?
tony_sid

2
Se um codec de vídeo não for especificado, acho que o ffmpeg possui codecs de áudio / vídeo padrão para um determinado contêiner. Meu ffmpeg no OS X assume como padrão mpeg4 yuv420p para vídeo para MP4 e AVI, com codecs de áudio libfaac e mp2, respectivamente. Ou seja, se eu escolher um arquivo H.264 e escolher -vcodec copy, ele selecionará libx264 para vídeo. Se, em vez disso, eu escolhi -sameq, ele seleciona mpeg4 genérico.
Fideli

Qual é melhor usar se um codec de vídeo não for especificado?
tony_sid

Jedi, não entendi sua pergunta acima. Selecione o codec desejado, neste caso, o seu player suporta.
CarlF

@OSXNINJA -vcodec copyespecifica um codec.
Quantum

25

A resposta aceita está incorreta - ou pelo menos não explica realmente o que as opções realmente fazem.

  • -c:v copydiz ao FFmpeg para copiar o fluxo de bits do vídeo para a saída. Por exemplo, seu vídeo AVI possui um fluxo de bits de vídeo XviD e você pode copiá-lo para um contêiner MP4, sem recodificar o vídeo. Isso, em essência, oferece a mesma qualidade , pois nada será alterado no fluxo de bits do vídeo.

    Aqui está um exemplo que altera o contêiner de AVI para MP4, se o fluxo de bits de vídeo também for válido para MP4:

    ffmpeg -i input.avi -c:v copy output.mp4
    

    Novamente: FFmpeg copiará tudo o que encontrar. Não há recodificação acontecendo aqui. Basicamente, o FFmpeg apenas lê e grava o contêiner e não altera os codecs.

  • sameqdiz ao FFmpeg para usar os mesmos parâmetros de quantização ao converter vídeo com o mesmo codec usado para a entrada. A opção não significa a mesma qualidade. Veja: Qual é a opção "sameq" no FFmpeg?

    A sameqopção foi removida do FFmpeg há algum tempo, por isso não pode mais ser usada e, se você ainda tem uma versão ffmpeg, é hora de atualizar!


1
c: v é uma versão abreviada do codec: ve vcodec é um alias do codec: v para que todos os 3 funcionem da mesma maneira. A partir de: lists.ffmpeg.org/pipermail/ffmpeg-user/2017-February/…
DeveloperDan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.