avconv
e ffmpeg
são essencialmente a mesma coisa. [a partir de MUITO recentemente há ALGUMAS divergências, mas não há muito o que escrever se você compilar seu próprio ffmpeg
[o fornecido em repositórios do Ubuntu, por exemplo, é OLD e sofre com o tamanho do vídeo não é um negócio blá-blá-blá [basicamente tenta dizer a você que o vídeo tem proporções erradas], mas se você se incomodar em ler o guia de compilação ffmpeg
e compilá-lo do git, ele não tem nenhum dos problemas das versões mais antigas que aparecem na maioria dos sistemas operacionais. o aviso de depreciação referindo-se a avconv
está dizendo que eles criaram um novo utilitário para tentar substituir ffmpeg
, MAS é SO usado extensivamente, mesmo que eles tentassem cortá-lo. todos criarão softlinks de avconv
a ffmpeg
de qualquer maneira, para que não parem de funcionar e descartem.]]
Não é uma coisa ruim usar avconv
, eu acabei de ver a única resposta mencionando o aviso de depreciação que é essencialmente uma mensagem vazia deve ser mais uma alternativa para o ffpmeg você poderia tentar avconv que é mais fiel ao caso aqui.
avconv -i inputfile.flv -map 0 -c:v libx264 -c:a copy outputfile.mp4
é realmente o MESMO que
ffmpeg -i filename.flv -vcodec libvpx -acodec libvorbis
essencialmente no primeiro você está usando as opções mais curtas e no segundo é a variedade mais escrita.
ALSO -map 0
está se referindo a faixas de áudio, por isso, se estiver usando algo como mp4a
, que pode manipular várias faixas de áudio, você pode deixar isso para copiar todos os fluxos de áudio para o arquivo resultante. Isso só é necessário se você estiver usando um codec que não suporta várias faixas de áudio no mesmo arquivo, então você deseja mapear o áudio necessário e não todos. É claro que, se você tentar minimizar o espaço usado, poderá especificar apenas um para tentar extrair um pouco do tamanho do arquivo [o áudio é como 1/3 do tamanho da trilha de vídeo [e isso é generoso]].
-c:v = codec(video)
so: -c:v libx264
é o mesmo que usar: -vcodec libx264
FYI; mesmo com este exemplo: -c:v copy = -vcodec copy
e, além disso, para FLVs, tenha cuidado com o arquivo flv é o mesmo que um avi em que é um recipiente que pode conter qualquer número de codecs para vídeo ou áudio. Você deve primeiro usar o utilitário de inspeção de mídia escolhido para ver o que é usado no próprio arquivo antes de escolher apenas copiar o fluxo de vídeo e / ou de áudio ou se quiser transmuxá-lo de qualquer coisa para algo novo. Portanto, o comando que funciona melhor para um FLV pode não ser o mesmo para outro FLV [naturalmente se estiver recebendo vários FLVs da mesma fonte, eles serão codificados da mesma forma, mas nunca é uma garantia].
Não tentar escolher nit apenas encontrou isso na pesquisa na web e queria tentar ajudar a esclarecer as coisas para as pessoas um pouco.
Mais uma vez, como esta resposta indica a resposta abaixo, YES executando o ffmpeg sempre irá postar que a mensagem é essencialmente oca, já que estes 2 utilitários são realmente apenas o mesmo utilitário com pouca diferença. Você deve, em quase todos os casos, obter exatamente os mesmos resultados usando qualquer comando.
Isso não necessariamente irá resultar em uma re-transcodificação completa, por quê? A, se não for necessário, economiza uma tonelada de tempo, e B, se você transcodificar um arquivo que já foi compactado em um codec de vídeo, está essencialmente executando uma rotina de compactação contra algo que já está compactado e sempre resultará em menos qualidade do que a fonte.
A maioria dos codecs mais recentes são um pouco compatíveis [não todos] como, por exemplo, um flv poderia ser tecnicamente um MP4 em um wrapper FLV, já que FLVs como AVIs são apenas contêineres de outros codecs. Portanto, isso depende do que a fonte flv tem para o codec de vídeo e ausio em comparação com o que você está convertendo para saber se ele precisa ser transcodificado. Se dentro do FLV eles usassem o vídeo H264 MP4 e MP4a para áudio, você não precisaria re-transcodificar a coisa que você precisaria apenas copiá-lo e ajustar os cabeçalhos de arquivo para que ele seja lido como um verdadeiro MP4 em vez de um vídeo MP4 dentro de um arquivo FLV.