Jak możemy się upewnić, że jest to transmisja wideo? Powinien być 24/7, elastyczny, jak najbardziej autonomiczny i w żaden sposób nie zależeć od komputera. O tym właśnie będziemy mówić dalej.
Idealnym rozwiązaniem jest wynajęcie serwera wirtualnego. Możesz wybrać VPS/VDS z zakresu oferowanych taryf na naszej stronie internetowej. Ceny są demokratyczne. Jakość jest wysoka.
Po utworzeniu serwera pierwszą rzeczą, którą należy zrobić, jest połączenie się z nim przez SSH. Możesz użyć aplikacji Secure Shell, która działa w przeglądarce Google Chrome. Następnie należy zmienić nazwę hosta, ustawić synchronizację czasu, zaktualizować system, skonfigurować iptables
i wykonać kilka innych czynności. Chociaż te kroki nie są wymagane, uznałem za interesujące skonfigurowanie serwera i uzyskanie satysfakcji z pomyślnego wykonania zadań.
Istnieje kilka konkretnych kroków, które należy wykonać:
EPEL
.(vsftp
).ffmpeg
.ffmpeg
to darmowy zestaw bibliotek o otwartym kodzie źródłowym, który umożliwia nagrywanie, konwertowanie i przesyłanie cyfrowych nagrań audio i wideo w różnych formatach.
Za pomocą ffmpeg
można wyodrębnić dźwięk z wideo, wyciąć fragment wideo bez transkodowania, przekonwertować z jednego formatu na inny i wykonać wiele innych czynności. Przykładowo, plik może zostać przekonwertowany na strumień i przekierowany do serwisu YouTube.
Aby skonfigurować serwer do strumieniowania i konwertowania wideo, należy wykonać określone kroki i użyć odpowiednich narzędzi.
Następnie utwórzmy transmisję na YouTube, w tym celu będziemy potrzebować linku do transmisji i klucza, których będziemy musieli użyć w kroku konfiguracji transmisji. Najłatwiej jest je szybko znaleźć na stronie YouTube, na której tworzona jest transmisja.
Następnie musimy przesłać pliki wideo, które chcemy transmitować na serwer. Jeśli masz wygodniejszy sposób przesyłania plików, nie musisz konfigurować serwera FTP.
Aby rozpocząć transmisję, musimy uruchomić ffmpeg
z kilkoma atrybutami. Stworzenie krótkiego polecenia do tego celu było dość skomplikowanym procesem, ale jeśli zostanie wykonane poprawnie, YouTube powinien pomyślnie wykryć przesyłany strumień.
Gdy YouTube wykryje strumień, kliknij przycisk "Rozpocznij transmisję" w panelu sterowania, a transmisja zostanie pomyślnie uruchomiona.
Powyższy skrypt pomoże ci utworzyć transmisję 24/7 z plików wideo. Ważne jest, aby uruchomić proces w tle za pomocą polecenia nohup bash
. Teraz możesz dostosować swoją transmisję i pozwolić jej działać niezależnie od twojej obecności. Nie zapominaj, że klucz do transmisji musi być podany w odpowiednim poleceniu.
Polecenie 1... (rozpocznij transmisję pliku lecture1.mp4
)
Polecenie 2... (rozpocznij transmisję pliku lecture2.mp4
)
Polecenie 3... (start broadcasting lecture3.mp4
) bash start.sh
Wersja skryptu:
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 $
Życzymy udanej transmisji!
Dokonajmy kilku drobnych poprawek dla lepszego nadawania
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%
W tym przykładzie tekst "Wykład 1" zostanie nałożony na środek wideo. Rozmiar czcionki wynosi 30 pikseli. Tło tekstu będzie przezroczyste z czarnym obrysem.
Będziesz musiał zmienić tekst w poleceniu dla każdego wykładu. Aby zautomatyzować ten proces i pozbyć się ręcznego wprowadzania danych, należy utworzyć plik .sh
z listą wszystkich wykładów i ich nazwami. Na przykład
lecture1.mp4
Wykład 1 lecture2.mp4
Wykład 2 lecture3.mp4
Wykład 3
Następnie musimy napisać skrypt, który odczyta ten plik i automatycznie doda tekst do wideo.
Oto taki skrypt:
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
W tym skrypcie odczytujemy każdą linię z pliku lectures .
txt, podkreślając nazwę pliku i tytuł wykładu. Następnie używamy polecenia ffmpeg
, aby dodać tekst do wideo.
Teraz mamy transmisję z tytułami wykładów, która będzie wygodniejsza dla widzów i ułatwi im znalezienie potrzebnych treści.