Способи оплати Abuse

Як зробити трансляцію своїх відео на YouTube за допомогою VPS

21.06.2023, 18:55

Як зробити так, щоб це була трансляція саме відео-файлів? Щоб вона йшла 24/7, була гнучкою, максимально автономною і при цьому ніяк не залежала від комп'ютера. Про це далі й піде мова.

Крок 1 - вибір сервера

Ідеальним рішенням стане оренда віртуального сервера. Ви можете вибрати VPS/VDS з лінійки запропонованих тарифів на нашому сайті. Ціни - демократичні. Якість - висока.

Крок 2 - налаштування сервера

Після створення сервера насамперед необхідно під'єднатися до нього по SSH. Можна використовувати додаток Secure Shell App, який запускається в Google Chrome. Після цього необхідно змінити ім'я хоста, налаштувати синхронізацію часу, оновити систему, налаштувати iptables і виконати ще низку дій. Хоча ці дії не обов'язкові, але мені було цікаво налаштовувати сервер і отримувати задоволення від успішного виконання завдань.

Є кілька конкретних кроків, які необхідно виконати:

  1. Підключити репозиторій EPEL.
  2. Встановити FTP-сервер(vsftp).
  3. Встановити ffmpeg.

ffmpeg - вільний набір бібліотек із відкритим вихідним кодом, який дає змогу записувати, конвертувати та передавати цифрові аудіо- та відеозаписи в різних форматах.

Використовуючи ffmpeg, можна витягнути звук із відео, вирізати фрагмент відео без перекодування, конвертувати з одного формату в інший і виконати безліч інших дій. Наприклад, файл може бути перетворений у потік і перенаправлений на YouTube.

Необхідно виконати деякі конкретні кроки і використовувати відповідні інструменти, щоб налаштувати сервер для трансляції та конвертації відео.

Крок 3 - налаштування трансляції

Далі створюємо трансляцію на YouTube, для цього нам знадобиться посилання і ключ трансляції, які нам необхідно буде використовувати на етапі налаштування трансляції. Найпростіше їх швидко знайти на сторінці YouTube, де створюється трансляція.

Далі необхідно завантажити відео-файли, які ми хочемо транслювати, на сервер. Якщо у вас є більш зручний спосіб завантаження файлів, то FTP-сервер піднімати не обов'язково.

Для запуску трансляції необхідно запустити ffmpeg з кількома атрибутами. Створення короткої команди для цієї мети було доволі складним процесом, але якщо все зроблено правильно, YouTube повинен успішно виявити переданий потік.

Як тільки YouTube виявить потік, натисніть кнопку "Почати трансляцію" в панелі управління, і трансляція буде успішно запущена.

Крок 4 - автономність

Наведений скрипт допоможе вам створити цілодобову трансляцію з відео-файлів. Важливо запускати процес у фоновому режимі за допомогою команди nohup bash. Тепер ви можете налаштувати свою трансляцію і дозволити їй працювати незалежно від вашої присутності. Не забувайте, що ключ до вашої трансляції має бути прописаний у відповідній команді.

Команда 1... (запуск трансляції файлу lecture1.mp4)

Команда 2... (запуск трансляції файлу lecture2.mp4)

Команда 3... (запуск трансляції файлу lecture3.mp4) bash start.sh

Версія скрипта:

ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
ffmpeg -re -i lecture2.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
ffmpeg -re -i lecture3.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY% nohup bash start.sh $

Бажаємо вам успішної трансляції!

Крок 5 - доналаштування ffmpeg

Виконаємо доналаштування для кращої трансляції

ffmpeg -re -i lecture1.mp4 -vf "drawtext=text='Lecture 1':x=(w-text_w)/2:y=(h-text_h)/2:fontcolor=white:fontsize=30:box=1:boxcolor=black@0.5" -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%

У цьому прикладі, текст "Lecture 1" буде накладено на центр відео. Розмір шрифту становить 30 пікселів. Фон тексту буде прозорим із чорним обведенням.

Для кожної лекції потрібно буде змінювати текст у команді. А щоб автоматизувати цей процес і позбутися ручного введення, потрібно буде створити .sh-файл зі списком усіх лекцій та їхніми іменами. Ось так:

lecture1.mp4 Lecture 1
lecture2.mp4 Lecture 2
lecture3.mp4 Lecture 3

Далі потрібно написати скрипт, який зчитуватиме цей файл і автоматично додаватиме текст на відео.

Ось такий скрипт:

while read line; do
    file=$(echo $line | cut -d' ' -f1)
    text=$(echo $line | cut -d' ' -f2-)
    ffmpeg -re -i $file -vf "drawtext=text='$text':x=(w-text_w)/2:y=(h-text_h)/2:fontcolor=white:fontsize=30:box=1:boxcolor=black@0.5" -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
done < lectures.txt

У цьому скрипті ми зчитуємо кожен рядок із файлу lectures.txt, виділяючи ім'я файлу і назву лекції. Потім використовуємо команду ffmpeg для додавання тексту на відео.

Таким чином, тепер у нас є трансляція з назвами лекцій, що зробить її зручнішою для глядачів і дасть їм змогу легше знаходити потрібний контент.