Попробуйте взять записанное видео и увеличить его.
Я слышал, что когда система кодирования YT видит видео сверхвысокого разрешения, оно обрабатывает его по-разному и усерднее работает, чтобы сделать версии с более низким разрешением более высоким качеством, чем вход 1080p/etc. Я никогда не исследовал это сам, YMMV, но оно того стоит.
Единственная проблема заключается в том, что апскейлинг - это процесс с потерями; Масштабирование безупречного пикселя выглядит ужасно (см. ниже). Если система кодирования YT не является удивительной, я полностью ожидаю, что сглаживание потребуется для того, чтобы видео по-прежнему выглядело хорошо, когда просматриваются (перекодированные, уменьшенные) версии 1080p/720p.
Таким образом, речь идет о достижении баланса между процессами высокоуровневого и нисходящего масштабов, обеспечивающими как можно меньшую степень размытия / потерь. Как правило, это проблема проб и ошибок, которая потребует ввода реального текста (в зависимости от того, что вы будете показывать на экране; например, большая часть текста).
(Кроме того, я понятия не имею, можете ли вы удалять / скрывать / и т.д. определенные разрешения видео при загрузке видео в YT, но в этом случае вы почти наверняка скрываете загруженную версию 2K / 4K.)
Я немного поиграл с ffmpeg; две части информации, которые оказались наиболее полезными, были страница с инструкциями по масштабированию и документация по масштабированию.
Вот что я придумал:
ffmpeg -i help.mp4 -c:v libx264 -preset ultrafast -vf scale=iw*4:-1:flags=neighbor+bitexact+accurate_rnd+full_chroma_int+full_chroma_inp+print_info -y help4x.mp4
-c:v libx264 -preset ultrafast
кодирование, но использует много дискового пространства (в данном случае 6,6 МБ или 1,7 МБ). Похоже, что для масштабирования потребовалось 1 ГБ ОЗУ и весь мой ЦП независимо от настроек кодирования, поэтому, если у вас больше пропускная способность, чем время, вы можете предпочесть ускорение. Кодер H264 имеет другие настройки скорости / производительности, см. Https://trac.ffmpeg.org/wiki/Encode/H.264.
-vf scale=iw*4:-1
видео 4x>:D - iw
= ширина ввода, *4
(умножить на 4) говорит само за себя, -1
= «вычислить ширину по высоте и сохранить соотношение сторон».
flags=
:
Я выбрал neighbor
чтобы показать вам, который не выполняет размытие / сглаживание, то есть идеальное удвоение / утроение пикселей и т.д., И чтобы вы знали, что на самом деле он выглядит на удивление плохо, уменьшенный ( не ожидал этого). experimental
выглядел хорошо, не уверен, что это лучше, чем bicubic
по умолчанию. Я настоятельно рекомендую пролистать https://ffmpeg.org/ffmpeg-scaler.html, собрать короткое тестовое видео, которое демонстрирует, что вы действительно хотите записать, и попробовать все кодировщики (возможно, даже загрузить все тестовые видео). Какую бы работу вы здесь ни делали, мне любопытно, какие результаты вы получите!
На accurate_rnd+full_chroma_int+full_chroma_inp+print_info
https://superuser.com/questions/782133/ffmpeg-upscaling-video я обнаружил в точности и вбил их: Я понятия не имею, что они делают / если они помогают. :D
bitexact
звучит хорошо. Я понятия не имею, что это также делает.
print_info
показывает вам, какой масштабер вы используете только в разделе «Нажмите [q], чтобы остановить».
-y
позволяет перезаписать. В противном случае ffmpeg каждый раз выдает вам «overwrite (y/n)».