Converta o vídeo do YouTube HDR (vp9.2) em HEVC HDR com ffmpeg

1

Minha pergunta é simples: como faço para converter vídeos HDR vp9.2 baixados do YouTube em vídeos HDR HEVC (melhor se 10 bits)?

ontem testei este comando, que é o único que encontrei no Google:

ffmpeg  -i ../4K-HDR\ Videos/The\ World\ in\ HDR\ in\ 4K\ \(ULTRA\ HD\)-2160p\ 60fps.mkv -c:v libx265 -x265-params "colorprim=bt2020:transfer=smpte-st-2084:colormatrix=bt2020nc:master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,10):max-cll=0,0"  output.mkv

Converte para HEVC (não tenho certeza sobre os 10 bits), mas perco o HDR. Também é provavelmente muito complicado para nada. Quaisquer parâmetros ffmpeg simples que convertam de HDR para HDR? Obrigado.

    
por Michele Dall'Agata 29.12.2017 / 08:51

2 respostas

2

Eu tenho a resposta do usuário priivt8 em esta postagem em macrumors. Primeiro, é necessário um ffmpeg de versão tardia que suporte alta codificação HEVC com profundidade de bits, como v3.4.1 aqui .

Então este é o comando:

ffmpeg -i <infile> \
-c:a copy \
-c:v libx265 \
-tag:v hvc1 \
-crf 22 \
-pix_fmt yuv420p10le \
-x265-params "colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc" \
<outfile>.mkv

onde

"-i <infile>" <infile> must be replace with the full file name of the video in input
"\-c:a copy" copies the audio
"-c:v libx265" tells ffmpeg to convert to HEVC
"-tag:v hvc1" seems mandatory for Apple devices using quickTime and the like
"-crf 22" is the compression. Lower the value, better the picture and higher the size
"-pix_fmt yuv420p10le" for YCrCB 4:2:0 10-bits HDR
"-x265-params" are the HEVC parameters for color range etc
"<outfile>.mkv" is the file in output. Replace <outfile> with the name you like. The extensions (.mkv) tells ffmpeg to which container convert the video.

Eu o converti em um arquivo mkv, para que não haja problemas ao adicionar áudio do vídeo original do YouTube. pode-se usar ".m4v" para vídeos reconhecidos pelos dispositivos da Apple.

O vídeo convertido agora funciona bem, com o HDR BT.2020 na Apple TV 4K (usando Infuse Pro) e o Vídeo da Sony no meu Bravia com Android TV 7.0.

Pode-se adicionar ao ffmpeg a opção

-r 30

Para reduzir a taxa de quadros de 60 qps para 30 qps (para que ele possa ser reproduzido pelo iTunes na Apple TV 4K).

    
por 03.01.2018 / 10:59
1

Aqui está a minha versão "infalível":

ffmpeg -i source.webm -c:v libx265 -x265-params "level=5.2:colorprim=bt2020:colormatrix=bt2020nc:transfer=smpte2084" -crf 12 -preset medium -c:a copy output.mkv

Funciona em todos os vídeos HDR do YouTube (baixados com youtube-dl -f 337+bestaudio ).

Isso ( -crf 12 ) lhe dará cerca de 18000-28000k de taxa de bits de vídeo para um vídeo 4K. Eu geralmente uso -preset ultrafast quando estou com pressa. :)

Eu não preciso definir -pix_fmt yuv420p10le , etc. porque isso herdará as configurações do arquivo de origem do VP9.

    
por 12.07.2018 / 22:37