FFmpeg – samouczek konfiguracji strumieniowania wideo

Użyj FFmpeg jako kodera do strumieniowego przesyłania wideo

Skorzystaj z tego przewodnika, aby skonfigurować FFmpeg jako koder wideo na żywo i przesyłać strumieniowo bezpośrednio do serwera wideo Primcast przez RTMP. Cała konfiguracja odbywa się za pomocą wiersza poleceń.

Przewodnik po wierszu poleceń, strumieniowanie RTMP, całodobowa pomoc na żywo

Przewodnik krok po kroku

Każdy krok wyjaśnia jedną część polecenia FFmpeg. Wszystkie wartości pisane UPPERCASE należy zastąpić poprawnymi danymi z konta Primcast.

1

Pełne polecenie FFmpeg

Oto kompletne przykładowe polecenie. Skopiuj je i zastąp symbole zastępcze danymi swojego konta. Poniższe sekcje wyjaśniają każdą flagę.

 ffmpeg -i 'PLIK lub ŁĄCZE' \ -crf 30 -preset ultrafast \ -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k \ -vcodec libx264 -r 25 -b:v 300k \ -f flv \ 'rtmp://NAZWA_UŻYTKOWNIKA:HASŁO@ADRES_STRUMIENIOWANIA:1935/NAZWA_APLIKACJI/livestream' 
2

Skonfiguruj źródło wejściowe ( -i )

Flaga -i wskazuje programowi FFmpeg, skąd pobrać strumień wejściowy. Może to być plik, urządzenie przechwytujące lub inny strumień:

  • Urządzenie: -i video="screen-capture-recorder":audio="Stereo Mix (IDT High Definition)"
  • Plik: -i '/home/user/sample.mp4'
  • Strumień: -i 'udp://127.0.0.0:1000/'
3

Flagi jakości wideo i kodowania

Te flagi kontrolują sposób kodowania wideo:

  • -crf 30 – Ustawia współczynnik stałej szybkości transmisji. Utrzymuje w miarę spójną jakość wideo przy jednoczesnym zmienianiu szybkości transmisji podczas złożonych scen. Wartość 30 pozwala na nieco niższą jakość i szybkość transmisji.
  • -preset ultrafast - Zapewnia najszybszą możliwą prędkość kodowania.
  • -vcodec libx264 - Ustawia kodek wideo na H.264.
  • -r 25 - Ustawia liczbę klatek na sekundę na 25.
  • -b:v 300k – Ustawia szybkość transmisji wideo na 300 kbps.
4

Flagi kodowania dźwięku

Te flagi kontrolują sposób kodowania dźwięku:

  • -acodec aac - Ustawia kodek audio na AAC (wewnętrzny koder AAC).
  • -strict experimental – umożliwia korzystanie z kodeków eksperymentalnych. Wymagane, ponieważ wewnętrzny koder AAC jest eksperymentalny.
  • -ar 44100 - Ustawia częstotliwość próbkowania dźwięku na 44 100 Hz.
  • -ac 2 - Określa dwa kanały audio (stereo).
  • -b:a 96k - Ustawia szybkość transmisji dźwięku na 96 kbps.
5

Format wyjściowy i miejsce docelowe RTMP

-f flv opakowuje strumień wyjściowy w kontener FLV, który jest wymagany dla protokołu RTMP.

Ostatnim argumentem jest docelowy adres URL RTMP. Zastąp każdy symbol zastępczy danymi swojego konta:

 rtmp://NAZWA_UŻYTKOWNIKA:HASŁO@ADRES_STRUMIENIOWANIA:1935/NAZWA_APLIKACJI/livestream
  • Zastąp USERNAME i PASSWORD danymi uwierzytelniającymi z konta Primcast.
  • Zastąp STREAMING_ADDRESS adresem strumieniowym z panelu konta (np. test.primcast.com ).
  • Zastąp APPLICATION_NAME nazwą aplikacji wyświetlaną na pulpicie nawigacyjnym.

Po przesłaniu strumieniowym możesz obejrzeć dane wyjściowe za pośrednictwem łącza HLS w odtwarzaczu, np. VLC, lub osadzić je, korzystając z łącza Generuj odtwarzacz na pulpicie nawigacyjnym.

Często zadawane pytania

Często zadawane pytania dotyczące używania FFmpeg do strumieniowego przesyłania wideo na żywo za pomocą Primcast.

Gdzie znajdę swój adres strumieniowy, nazwę użytkownika i hasło?

Twój adres streamingu, nazwa użytkownika, hasło i nazwa aplikacji są dostępne w panelu konta Primcast. Znajdziesz je również w e-mailu aktywacyjnym.

Czy mogę przesyłać strumieniowo plik zamiast sygnału na żywo?

Tak. Użyj flagi -i '/path/to/file.mp4' , aby przesyłać strumieniowo z pliku lokalnego. FFmpeg zakoduje plik i prześle go na serwer RTMP tak, jakby był to strumień na żywo.

Jakich kodeków wideo i audio wymaga Primcast?

Serwery wideo Primcast akceptują wideo H.264 ( libx264 ) i dźwięk AAC ( aac ) dostarczane w kontenerze FLV przez RTMP. Są to wartości domyślne w przykładowym poleceniu.

Jakiej przepływności bitowej powinienem użyć?

W przykładzie użyto 300 kb/s dla wideo ( -b:v 300k ) i 96 kb/s dla audio ( -b:a 96k ). Możesz zwiększyć szybkość transmisji wideo, aby uzyskać lepszą jakość, jeśli pozwala na to przepustowość wysyłania. Większość strumieni działa dobrze w zakresie od 500 kb/s do 2500 kb/s dla wideo.

Jak mogę obejrzeć transmisję na żywo?

Po rozpoczęciu strumieniowania FFmpeg możesz go obejrzeć, korzystając z łącza HLS z panelu Primcast w odtwarzaczu takim jak VLC. Możesz również wygenerować odtwarzacz do osadzenia, korzystając z łącza „Generuj odtwarzacz” na swoim koncie.

Gotowy na transmisję na żywo?

Nasze usługi przesyłania strumieniowego audio i wideo obejmują nieograniczoną liczbę połączeń, nieograniczoną przepustowość i całodobową pomoc techniczną od ekspertów, dzięki której zawsze będziesz na antenie.