FFMPEG конвертирует HEVC в VP9 большой размер файла - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь конвертировать видео HEVC в VP9, ​​чтобы их можно было воспроизводить в веб-браузере, сохраняя размер файла примерно одинаковым.

Я изо всех сил пытаюсь создать видео с аналогичным качеством / размером файла.

Вот информация о потоке для одного из видео HEVC, видео которого - 22:49 и 168,7 МБ:

Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, bt709), 1920x1080, 900 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc (default)

Битрейт составляет 900K, поэтому я подумал, что следующая команда будет использовать тот же битрейт и даст примерно одинаковое качество изображения:

ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -vaapi_device /dev/dri/renderD128 -i "$infile" -vf 'format=nv12,hwupload' -c:v vp9_vaapi -b:v 900K -bf 2 -bsf:v vp9_raw_reorder,vp9_superframe -c:a libvorbis "$outfile"

При этом качество заметно выше, гораздо хуже, и занятые сцены выглядят невероятно блочными, хотя размер файла примерно эквивалентен источнику HEVC.

Если я опущу битрейт и позволю VP9 отработать его

ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -vaapi_device /dev/dri/renderD128 -i "$infile" -vf 'format=nv12,hwupload' -c:v vp9_vaapi -b:v 0 -bf 2 -bsf:v vp9_raw_reorder,vp9_superframe -c:a libvorbis "$outfile"

Качество визуально неразличимо, но размер файла конвертированного видео VP9 достигает 401 МБ, по сравнению с 168 МБ файла HEVC, а во время кодирования битрейт для большей части видео составляет более 3 м.

Я пытался подняться до 1,2M (на 33% выше, чем исходное видео), а VP9 по-прежнему давал очень бланковое видео.

Действительно ли VP9 намного хуже, чем HEVC, или мне не хватает опции? или это потому что я конвертирую из HEVC?

...