Eu sou novo no FFmpeg (Windows) e preciso de ajuda.
Quero converter meus MKVs para MP4 com a menor perda de qualidade possível. Os MKVs são feitos com MakeMKV e contêm, entre outros, a trilha sonora do DTS. Eles são sem perdas. A razão pela qual desejo converter, é que pretendo transmiti-lo para iPads e Apple TV. Os iPads não suportam DTS e MKVs. Os MKVs são DVDs e Blu-Ray. Os MKVs contêm vídeo, trilhas sonoras e legendas.
Eu tentei isso, mas não obtive som devido à trilha sonora do DTS:
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
Alguém pode me ajudar?
Quais codecs devo usar? MP4 é o melhor para a Apple?
ffmpeg -i input.mkv
será suficiente.Respostas:
MP4 é realmente o melhor formato para dispositivos e software da Apple. De fato, o DTS também não é suportado, muitos arquivos de vídeo MP4 contêm duas faixas de áudio, uma DTS e uma AAC.
Existem vários codificadores disponíveis, todos eles documentados no wiki ffmpeg . O codec disponível depende de como o ffmpeg foi compilado. O libfdk_aac fornecerá os melhores resultados, mas, como esse codec não é gratuito, ele nem sempre está disponível.
Coisas que você pode tentar (eu as coloco na ordem da minha qualidade percebida, melhor primeiro)
Se você deseja manter a faixa DTS também, use a
-map
bandeira.Não é diretamente usado para OP, mas o subler do programa OS X facilita esse processo.
EDIT: Comentários tl; dr? OP resolveu o problema com o seguinte comando
DICA: se as
-c:s copy
legendas não funcionarem, tente-c:s mov_text
.Me salvou em várias ocasiões.
fonte
libfdk
elibfaac
)-c:a aac -q:a 6
configurações e comparei o resultado com-c:a libfaac -b:a 192k
, na minha opinião, o codec aac oferece melhores resultados que o libfaac , mas, como os codecs estão em desenvolvimento, isso pode mudar. O libfdk_aac provavelmente fornecerá resultados ainda melhores, mas não o tenho disponível no momento.Sei que essa é uma pergunta antiga - e já tem uma resposta - mas eu queria compartilhar alguns comandos que estou usando com o FFmpeg no macOS.
Um vídeo x264 codificado em MP4 com áudio AAC de um MKV
Conversão básica de um MKV com um MP4, mas convertendo o áudio para AAC em 128k. Observe os mapeamentos:
-map 0:0
significa a primeira0
faixa ( ) da entrada de origem (0
) e-map 0:1
a segunda1
faixa ( ) da mesma entrada de fonte (0
). Eu gosto de fazer isso nos casos em que existem várias faixas de áudio para que eu pudesse fazer algo como selecionar-map 0:3
para obter a terceira faixa.Um vídeo HEVC / x265 codificado em MP4 com áudio AAC de um MKV
Isso é semelhante ao comando x264 acima, mas usa o HEVC / x265 para obter um tamanho de arquivo menor com o mesmo vídeo - se não com melhor qualidade - do MKV de origem. Observe que eu prefiro escalar vídeos do iOS para 720 ao usar o HEVC / x265; a qualidade da reprodução sem muito ruído é sólida no meu MacBook, iPad e iPhone. Certifique-se de que seu hardware e sistema operacional suportem a reprodução HEVC / x265. E esteja avisado: o HEVC / x265 consome muita CPU; portanto, se sua máquina não tiver muita energia da CPU, pode levar até um dia para codificar 90 minutos de vídeo.
Aqui está um detalhamento de cada um dos parâmetros principais, exceto os arquivos de entrada e saída.
-vf scale=-1:720
: Dimensione o vídeo para 720 de altura e calcule automaticamente a largura. Note-se que FFmpeg pode sufocar algumas MKVs por razões que eu não estou 100% claro no que você teria que definir explicitamente a largura com algo parecido com isto:-vf scale=1280:720
. Experimente e veja o que funciona para você.-c:v libx265 -crf 20
: Olibx265
é o codec de codificação de vídeo. O-crf 20
é o CRF (fator de taxa constante) . O CRF padrão, se você não especificar, é 28, mas - a partir de agora - encontre a qualidade praticamente… Meh. Prefiro 20, pois é um equilíbrio muito bom entre qualidade e tamanho do arquivo.-threads 4
: Gosto de especificar contagens de threads. 4 é o que meu sistema pode lidar agora, mas às vezes eu o reduzo para 2 ou 3. Número maior é mais rápido se você tiver CPUs suficientes para lidar com isso.-tag:v hvc1
: A configuração de metadados mágicos a ser implementada para os dispositivos iOS reproduzirem corretamente vídeos HEVC / x265.E é sobre isso!
fonte