Запись и потоковая передача рабочего стола на Youtube с помощью ffmpeg с разрешением HD - PullRequest
0 голосов
/ 04 октября 2019

Я хочу записать и транслировать рабочий стол на Youtube в прямом эфире FFmpeg. Но разрешение на выходе очень низкое, максимум 360. Какие опции мне нужно изменить?

ffmpeg  -framerate 30 -f x11grab -i :1 -f pulse -i default -c:v libx264 -s 1920x1080 -r 60 -b:v 5000k  -crf 10 -vf format=yuv420p -c:a aac -b:a 128k -f flv rtmp://a.rtmp.youtube.com/live2/stream_key

1 Ответ

0 голосов
/ 04 октября 2019

Размер по умолчанию для x11grab составляет 640x480. Затем вы увеличиваете его до 1920x1080. Исправьте, добавив -video_size параметр ввода:

ffmpeg -framerate 30 -video_size 1920x1080 -f x11grab -i :1 -f pulse -i default -c:v libx264 -b:v 5000k -maxrate 5000k -bufsize 10000k -g 60 -vf format=yuv420p -c:a aac -b:a 128k -f flv rtmp://a.rtmp.youtube.com/live2/stream_key
  • Удалить -r 60 параметр вывода. Вы уже объявляете входную частоту кадров с -framerate, поэтому дублирование кадров до 60 кадров в секунду не рекомендуется. Если вы хотите 60 кадров в секунду, измените значение -framerate.

  • Удалить -crf 10 параметр вывода. Это взаимоисключающий с -b:v. Используйте -crf или -b:v, но не оба или один из них будут игнорироваться.

  • Для потоковой передачи рекомендуется для добавления -g, -bufsize и -maxrate для включения VBV.

...