To jest polecenie gst-launch-1.0, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
gst-launch - zbuduj i uruchom potok GStreamer
STRESZCZENIE
uruchomienie gst [OPCJA...] RUROCIĄG-OPIS
OPIS
uruchomienie gst to narzędzie, które buduje i działa w sposób podstawowy GStreamer rurociągi.
W uproszczonej formie PIPELINE-OPIS to lista elementów oddzielonych wykrzyknikiem
znaki (!). Do elementów można dołączać właściwości, w postaci właściwość=wartość.
Pełny opis możliwych OPISÓW RUROCIĄGÓW znajduje się w rozdziale rurociąg
opis poniżej lub zapoznaj się z dokumentacją GStreamera.
Należy pamiętać, że uruchomienie gst to przede wszystkim narzędzie do debugowania dla programistów i użytkowników. Ty
nie powinien budować na nim aplikacji. W przypadku aplikacji użyj funkcji gst_parse_launch()
funkcja GStreamer API jako łatwy sposób na konstruowanie potoków z potoku
opisy.
OPCJE
uruchomienie gst akceptuje następujące opcje:
--help Wydrukuj streszczenie pomocy i dostępne FLAGI
-v, --gadatliwy
Informacje o stanie wyjścia i powiadomienia o właściwościach
-Q, --cichy
Nie drukuj żadnych informacji o postępie
-M, --wiadomości
Komunikaty wyjściowe publikowane na magistrali potoku
-T, --tagi
Tagi wyjściowe (znane również jako metadane)
-mi, --eos-po-zamknięciu
Wymuś zdarzenie EOS na źródłach przed zamknięciem potoku. Jest to przydatne do
upewnij się, że muxery tworzą czytelne pliki, gdy potok muxujący jest wyłączony
siłą przez Control-C.
-ja, --indeks
Zbierz i wydrukuj statystyki indeksu. Jest to przydatne głównie do odtwarzania lub nagrywania
rurociągi.
-F, --bez winy
Nie instaluj obsługi błędów
-T, --namierzać
Wydrukuj ślady alokacji pamięci. Ta funkcja musi być włączona w czasie kompilacji, aby
praca.
GSTREAMER OPCJE
uruchomienie gst akceptuje również następujące opcje, które są wspólne dla wszystkich GStreamera
Aplikacje:
--wersja-gst
Wyświetla wersję ciągu znaków GStreamer podstawowa biblioteka.
--gst-fatal-ostrzeżenia
Rozwiązania GStreamer przerwać, jeśli pojawi się komunikat ostrzegawczy. To jest równoważne
ustawienie zmiennej środowiskowej G_DEBUG na 'fatal_warnings' (patrz rozdział
środowisko zmienne poniżej w celu uzyskania dalszych informacji).
--gst-debug=ŁAŃCUCH
Oddzielona przecinkami lista par nazwa_kategorii:poziom w celu określenia poziomów debugowania
dla każdej kategorii. Poziom mieści się w zakresie 0-9, gdzie 0 nie pokazuje żadnych komunikatów, a 9
pokaże wszystkie wiadomości. Symbol wieloznaczny * może służyć do dopasowania nazw kategorii. Notatka
że kolejność kategorii i poziomów jest ważna, symbole wieloznaczne na końcu mogą
poziomy nadpisania ustawione wcześniej. Poziomy dziennika to: 1=BŁĄD, 2=OSTRZEŻENIE, 3=FIXME,
4=INFORMACJE, 5=DEBUGOWANIE, 6=LOG, 7=ŚLEDZENIE, 9=MEMDUMP. Od GStreamera 1.2 można również używać
nazwy poziomów debugowania, np. --gst-debug=*sink:LOG. Pełny opis
różne poziomy debugowania można znaleźć w dokumentacji API biblioteki podstawowej GStreamera,
w sekcji „Uruchamianie aplikacji GStreamer”.
Użyj --gst-debug-help, aby wyświetlić nazwy kategorii
Przykład: GST_CAT:5,GST_ELEMENT_*:3,oggdemux:5
--gst-debug-level=POZIOM
Ustawia próg drukowania komunikatów debugowania. Wydrukowany zostanie wyższy poziom
więcej wiadomości. Użyteczny zakres to 0-9, domyślnie 0. Poziom 6 (LOG
poziom) pokaże wszystkie informacje, które są zwykle wymagane do celów debugowania.
Wyższe poziomy są przydatne tylko w bardzo szczególnych przypadkach. Zobacz powyżej pełną listę
poziomów.
--gst-debug-bez-koloru
GStreamer normalnie drukuje komunikaty debugowania, dzięki czemu komunikaty są oznaczone kolorami
po wydrukowaniu do terminala obsługującego sekwencje specjalne ANSI. Korzystanie z tej opcji
Przyczyny GStreamer aby wydrukować wiadomości bez koloru. Ustawienie GST_DEBUG_NO_COLOR
zmienna środowiskowa osiągnie to samo.
--gst-debug-kolor-tryb
GStreamer normalnie drukuje komunikaty debugowania, dzięki czemu komunikaty są oznaczone kolorami
po wydrukowaniu do terminala obsługującego sekwencje specjalne ANSI (na *nix) lub używa
Interfejs API konsoli W32 do kolorowania komunikatów drukowanych w konsoli (w W32). Korzystanie z tego
Przyczyny opcji GStreamer aby wydrukować wiadomości bez koloru ('wyłącz' lub 'wyłącz'),
drukuj wiadomości z domyślnymi kolorami ('on' lub 'auto') lub drukuj wiadomości używając ANSI
sekwencje specjalne do kolorowania ('unix'). Ustawienie GST_DEBUG_COLOR_MODE
zmienna środowiskowa osiągnie to samo.
--gst-debug-wyłącz
Wyłącza debugowanie.
--gst-debug-pomoc
Wyświetla listę dostępnych kategorii debugowania i ich domyślny poziom debugowania.
--gst-wtyczka-spew
GStreamer info flagi do ustawienia Włącz wydruk błędów podczas ładowania GStreamer
wtyczki
--gst-plugin-path=ŚCIEŻKA
Dodaj katalogi oddzielone znakiem ':' do ścieżki wyszukiwania wtyczek
--gst-plugin-load=WTYCZKI
Wstępnie ładuj wtyczki określone na liście oddzielonej przecinkami. Inny sposób na określenie
wtyczki do wstępnego załadowania to użycie zmiennej środowiskowej GST_PLUGIN_PATH
RUROCIĄG OPIS
Rurociąg składa się Elementy i linki. Elementy można umieścić w pojemniki różnego rodzaju.
Elementy, linki i pojemniki można określić w opisie potoku w dowolnej kolejności.
Elementy
TYP ELEMENTU [WŁASNOŚĆ1 ...]
Tworzy element typu ELEMENTTYPE i ustawia WŁAŚCIWOŚCI.
Właściwości
WŁAŚCIWOŚĆ=WARTOŚĆ...
Ustawia właściwość na określoną wartość. Możesz użyć gst-inspekcja(1) aby dowiedzieć się więcej
właściwości i dozwolone wartości różnych elementów.
Właściwości wyliczenia można ustawić według nazwy, nicka lub wartości.
Pojemniki
[TYP BIN.] ( [WŁASNOŚĆ1 ...] RUROCIĄG-OPIS )
Określa, że tworzony jest pojemnik typu BINTYPE i ustawione są podane właściwości. Każdy
element między szelkami jest wkładany do kosza. Zwróć uwagę na kropkę, której należy użyć
po BINTYPE. Prawie nigdy nie będziesz potrzebować tej funkcji, jest tylko naprawdę przydatna
dla aplikacji używających funkcji API gst_launch_parse() z 'bin' jako bintypem. Tak to jest
możliwość budowy rurociągów częściowych zamiast pełnowartościowego rurociągu najwyższego poziomu.
Linki
[[SRCELEMENT].[PAD1,...]] ! [[ELEMENT ZLEWANY].[PAD1,...]] [[SRCELEMENT].[PAD1,...]] ! CZAPKI !
[[ELEMENT ZLEWANY].[PAD1,...]]
Łączy element o nazwie SRCELEMENT z elementem o nazwie SINKELEMENT, używając znaku
czapki określone w CAPS jako filtr. Na elementach można ustawić nazwy z właściwością name.
Jeśli nazwa zostanie pominięta, element, który został określony bezpośrednio przed lub po
używany jest link. Działa to w wielu pojemnikach. Jeśli zostanie podana nazwa padname, link jest zrobiony z tymi
naramienniki. Jeśli nie podano nazw padów, sprawdzane są wszystkie możliwości i używany jest pasujący pad.
Jeśli podano kilka nazw padów, obie strony muszą mieć określoną taką samą liczbę padów i
wiele linków jest wykonywanych w podanej kolejności.
Najprostszym linkiem jest więc prosty wykrzyknik, który łączy element z lewej strony
go po prawej stronie elementu.
Korki
TYP MEDIÓW [, WŁASNOŚĆ[, NIERUCHOMOŚĆ ...]]] [; CZAPKI[; CZAPKI ...]]
Tworzy możliwość z podanym typem mediów i opcjonalnie z podanymi właściwościami. ten
typ nośnika można zmienić za pomocą „lub”. Jeśli chcesz połączyć wersaliki, możesz dodać więcej wersalików
później w tym samym formacie.
Właściwości
Name =[(RODZAJ)]WARTOŚĆ
w wykazach i zakresach: [(RODZAJ)]WARTOŚĆ
Ustawia żądaną właściwość w możliwościach. Nazwa jest wartością alfanumeryczną, a
type może mieć następujące wartości bez rozróżniania wielkości liter:
- i or int dla wartości całkowitych lub zakresów
- f or unosić się dla wartości zmiennoprzecinkowych lub zakresów
- b, bool or boolean dla wartości logicznych
- s, str or ciąg na smyczki
- frakcja dla ułamków (liczba klatek na sekundę, współczynnik proporcji pikseli)
- l or podstęp dla list
Jeśli nie podano typu, próbowana jest następująca kolejność: integer, float, boolean, string.
Wartości całkowite muszą być analizowalne przez strtol(), płynie obok strtod(). Wartości FOURCC mogą albo
być liczbami całkowitymi lub łańcuchami. Wartości logiczne są (wielkość liter nie ma znaczenia) tak, Nie, prawdziwy or fałszywy i
może oznaczać, że łańcuchy mają znak ucieczki za pomocą „ lub ”.
Zakresy mają następujący format: [ WARTOŚĆ, WARTOŚĆ ]
Listy używają tego formatu: { WARTOŚĆ [, WARTOŚĆ ...] }
RUROCIĄG PRZYKŁADY
Poniższe przykłady zakładają, że masz dostępne odpowiednie wtyczki. Ogólnie,
„osssink” można zastąpić inną wtyczką wyjścia audio, taką jak „esdsink”,
„alsasink”, „osxaudiosink” lub „artsdsink”. Podobnie można zastąpić „xvimagesink”
z „ximagesink”, „sdlvideosink”, „osxvideosink” lub „aasink”. Pamiętaj jednak, że
różne zlewy mogą akceptować różne formaty, a nawet ten sam zlew może akceptować
różne formaty na różnych komputerach, więc może być konieczne dodanie elementów konwertera, takich jak
audioconvert i audioresample (dla audio) lub videoconvert (dla wideo) przed
tonąć, aby wszystko działało.
Audio odtwarzanie nagranego dźwięku
uruchomienie gst plikirc lokalizacja=muzyka.mp3 ! szalony ! audiokonwert ! próbka audio !
ossink
Odtwórz plik muzyczny mp3 „music.mp3” za pomocą wtyczki opartej na libmad i wyślij do OSS
urządzenie
uruchomienie gst plikirc lokalizacja=muzyka.ogg ! oggdemux ! vorbisdec ! audiokonwert !
próbka audio ! ossink
Odtwórz plik w formacie Ogg Vorbis
uruchomienie gst gnomevfssrc lokalizacja=muzyka.mp3 ! szalony ! ossink
uruchomienie gst gnomevfssrc lokalizacja=http://domain.com/music.mp3 ! szalony ! audiokonwert !
próbka audio ! ossink
Odtwórz plik mp3 lub strumień http za pomocą GNOME-VFS
uruchomienie gst gnomevfssrc lokalizacja=smb://komputer/muzyka.mp3 ! szalony ! audiokonwert !
próbka audio ! ossink
Użyj GNOME-VFS, aby odtworzyć plik mp3 znajdujący się na serwerze SMB
utworzony konwersja
uruchomienie gst plikirc lokalizacja=muzyka.mp3 ! szalony ! audiokonwert ! worbisenc ! oggmux !
zatapianie plików lokalizacja=muzyka.ogg
Konwertuj plik muzyczny mp3 na plik Ogg Vorbis
uruchomienie gst plikirc lokalizacja=muzyka.mp3 ! szalony ! audiokonwert ! Flacenc ! zatapianie plików
lokalizacja=test.flac
Konwertuj na format FLAC
Inne
uruchomienie gst plikirc lokalizacja=muzyka.wav ! wavparse ! audiokonwert ! próbka audio !
ossink
Odtwarza plik .WAV zawierający nieprzetworzone dane audio (PCM).
uruchomienie gst plikirc lokalizacja=muzyka.wav ! wavparse ! audiokonwert ! worbisenc !
oggmux ! zatapianie plików lokalizacja=muzyka.ogg
uruchomienie gst plikirc lokalizacja=muzyka.wav ! wavparse ! audiokonwert ! paralityk ! zatapianie plików
lokalizacja=muzyka.mp3
Konwertuj plik .WAV zawierający surowe dane audio na plik Ogg Vorbis lub mp3
uruchomienie gst cdparanoiasrc tryb=ciągły ! audiokonwert ! paralityk ! id3v2mux !
zatapianie plików lokalizacja=cd.mp3
zgrywa wszystkie utwory z płyty kompaktowej i konwertuje je na pojedynczy plik mp3
uruchomienie gst cdparanoiasrc utwór=5 ! audiokonwert ! paralityk ! id3v2mux ! zatapianie plików
lokalizacja=track5.mp3
zgrywa utwór 5 z płyty CD i konwertuje go na pojedynczy plik mp3
Korzystanie z gst-inspekcja(1), możliwe jest wykrycie takich ustawień dla cdparanoiasrc
to powie mu zgrać całą płytę lub tylko jej utwory. Alternatywnie możesz użyć
URI i gst-launch-1.0 znajdą element (taki jak cdparanoia), który to obsługuje
protokół dla Ciebie, np.:
uruchomienie gst cdda://5 ! paralityk vbr=nowy vbr-jakość=6 ! zatapianie plików lokalizacja=track5.mp3
uruchomienie gst osssrc ! audiokonwert ! worbisenc ! oggmux ! zatapianie plików
lokalizacja=input.ogg
nagrywa dźwięk z wejścia audio i koduje go do pliku ogg
Wideo
uruchomienie gst plikirc lokalizacja=JB_FF9_TheGravityOfLove.mpg ! DVDdemux ! mpeg2dec !
xvimagesink
Wyświetlaj tylko część wideo pliku wideo MPEG-1, wyświetlaną w oknie wyświetlania X
uruchomienie gst plikirc lokalizacja=/fllffj.vob ! DVDdemux ! mpeg2dec ! sdlvideosink
Wyświetl część wideo pliku .vob (używanego na płytach DVD), wysyłając do okna SDL
uruchomienie gst plikirc lokalizacja=film.mpg ! DVDdemux nazwa=demuxer demukser. ! kolejka !
mpeg2dec ! sdlvideosink demukser. ! kolejka ! szalony ! audiokonwert ! próbka audio ! ossink
Odtwarzaj zarówno fragmenty wideo, jak i audio z filmu MPEG
uruchomienie gst plikirc lokalizacja=film.mpg ! mpegdemux nazwa=demuxer demukser. ! kolejka !
mpeg2dec ! wideokonwersja ! sdlvideosink demukser. ! kolejka ! szalony ! audiokonwert !
próbka audio ! ossink
Odtwórz film AVI z zewnętrznym strumieniem napisów tekstowych
Ten przykład pokazuje również, jak odwoływać się do określonych padów według nazwy, jeśli element (tutaj:
textoverlay) ma wiele padów typu sink lub source.
uruchomienie gst nakładka tekstowa nazwa=nakładka ! wideokonwersja ! skala wideo ! automatyczny zlew wideo
plikirc lokalizacja=film.avi ! dekodować ! wideokonwersja ! nakładka.video_sink plikirc
lokalizacja=film.srt ! podrzędny ! nakładka.text_sink
Odtwórz film AVI z zewnętrznym strumieniem napisów tekstowych za pomocą playbin
uruchomienie gst pobawić się uri=plik:///ścieżka/do/filmu.avi suburi=plik:///ścieżka/do/filmu.srt
Sieć Streaming
Przesyłaj strumieniowo wideo za pomocą RTP i elementów sieciowych.
uruchomienie gst v4l2src ! video/x-raw,szerokość=128,wysokość=96,format=UYVY ! wideokonwersja !
ffence_h263 ! wideo/x-h263 ! rtph263ppay pkt=96 ! zlewozmywak host=192.168.1.1 port = 5000
To polecenie zostanie uruchomione na nadajniku
uruchomienie gst udpsrc port = 5000 ! aplikacja/x-rtp, taktowanie=90000, ładowność=96 !
rtph263pdepay opóźnienie kolejki=0 ! ffdec_h263 ! xvimagesink
Użyj tego polecenia na odbiorniku
Diagnostyczny
uruchomienie gst -v podróbka liczba-buforów=16 ! fałszywy zlew
Wygeneruj pusty strumień i zignoruj go (i wypisz szczegóły).
uruchomienie gst audiotestyr ! audiokonwert ! próbka audio ! ossink
Wygeneruj czysty ton sinusoidalny, aby przetestować wyjście audio
uruchomienie gst wideotestyrc ! xvimagesink
uruchomienie gst wideotestyrc ! ximagesink
Wygeneruj znajomy wzór testowy, aby przetestować wyjście wideo
automatycznie Powiązanie
Możesz użyć elementu decodebin, aby automatycznie wybrać odpowiednie elementy, aby uzyskać
działający rurociąg.
uruchomienie gst plikirc lokalizacja=plik muzyczny ! dekodować ! audiokonwert ! próbka audio !
ossink
Odtwórz dowolny obsługiwany format audio
uruchomienie gst plikirc lokalizacja=plik wideo ! dekodować nazwa=dekoder dekoder. ! kolejka !
audiokonwert ! próbka audio ! ossink dekoder. ! wideokonwersja ! xvimagesink
Odtwarzaj dowolny obsługiwany format wideo z wyjściem wideo i audio. Używane są wątki
automatycznie. Aby było to jeszcze łatwiejsze, możesz użyć elementu playbin:
uruchomienie gst pobawić się uri=plik:///home/joe/foo.avi
Przefiltrowany połączenia
Te przykłady pokazują, jak używać kapsli filtrowanych.
uruchomienie gst wideotestyrc ! 'video/x-raw,format=YUY2;video/x-raw,format=YV12' !
xvimagesink
Pokaż obraz testowy i użyj do tego formatu wideo YUY2 lub YV12.
uruchomienie gst osssrc ! 'audio/x-raw,rate=[32000,64000],format={S16LE,S24LE,S32LE}' !
falować ! zatapianie plików lokalizacja=nagrywanie.wav
nagraj dźwięk i zapisz go w pliku .wav. Wymuś użycie podpisanych próbek 16-32-bitowych i a
częstotliwość próbkowania od 32 kHz do 64 kHz.
ŚRODOWISKO ZMIENNE
GST_DEBUG
Lista oddzielonych przecinkami kategorii i poziomów debugowania (np
GST_DEBUG=totem:4,typefind:5). „*” jest dozwolony jako symbol wieloznaczny w ramach debugowania
nazwy kategorii (np. GST_DEBUG=*sink:6,*audio*:6). Od wersji 1.2.0 jest to również możliwe
aby określić poziom dziennika według nazwy (1=BŁĄD, 2=OSTRZEŻENIE, 3=FIXME, 4=INFO, 5=DEBUG, 6=LOG,
7=TRACE, 9=MEMDUMP) (np. GST_DEBUG=*audio*:LOG)
GST_DEBUG_NO_COLOR
Gdy ta zmienna środowiskowa jest ustawiona, kolorowe dane wyjściowe debugowania są wyłączone.
GST_DEBUG_DUMP_DOT_DIR
Po ustawieniu na ścieżkę systemu plików przechowuj tam pliki „z kropkami” grafów potoku. Te
można później przekonwertować na obraz za pomocą narzędzia „kropka” z graphviz
zestaw narzędzi, taki jak: kropka foo.dot -Tsvg -o foo.svg (możliwe są również png lub jpg
jako format wyjściowy). Istnieje również narzędzie o nazwie 'xdot', które umożliwia przeglądanie
plik .dot bezpośrednio, bez wcześniejszej konwersji.
GST_REGISTRY
Ścieżka do pliku rejestru wtyczek. Wartość domyślna to ~/.cache/gstreamer-1.0/registry-
CPU.bin gdzie CPU to typ maszyny/procesora GStreamer został skompilowany, np. 'i486',
'i686', 'x86-64',
GST_REGISTRY_UPDATE
Ustaw na „nie”, aby zmusić GStreamer do założenia, że żadne wtyczki nie zostały zmienione, zostały dodane
lub został usunięty. To sprawi, że GStreamer pominie wstępne sprawdzanie, czy przebudowa
pamięci podręcznej rejestru jest wymagane, czy nie. Może to być przydatne w osadzonych
środowiska, w których zainstalowane wtyczki nigdy się nie zmieniają. Nie używaj tej opcji w
jakakolwiek inna konfiguracja.
GST_PLUGIN_PATH
Określa listę katalogów do przeszukania w poszukiwaniu dodatkowych wtyczek. Te trwają
pierwszeństwo przed wtyczkami systemowymi.
GST_PLUGIN_SYSTEM_PATH
Określa listę wtyczek, które są zawsze ładowane domyślnie. Jeśli nie jest ustawiony, to
domyślnie jest to ścieżka zainstalowana w systemie, a wtyczki zainstalowane w domu użytkownika
katalog
GST_DEBUG_FILE
Ustaw tę zmienną na ścieżkę do pliku, aby przekierować do niej wszystkie komunikaty debugowania GStreamera
plik. Jeśli nie jest ustawiona, komunikaty debugowania będą wyprowadzane do standardowego błędu.
KOD_ORC
Przydatna zmienna środowiskowa Orków. Ustaw ORC_CODE=debug, aby włączyć debugery, takie jak gdb
do tworzenia użytecznych śladów wstecznych z kodu generowanego przez Orków. Ustaw ORC_CODE=kopia zapasowa lub
ORC_CODE=emuluj, jeśli podejrzewasz, że generator kodu SIMD Orka produkuje niepoprawnie
kod. (Dość kilka ważnych wtyczek GStreamera, takich jak videotestsrc, audioconvert lub
audioresample użyj Orka).
G_DEBUG
Przydatna zmienna środowiskowa GLib. Ustaw G_DEBUG=fatal_warnings, aby stworzyć GStreamer
programy przerywają działanie, gdy wystąpi krytyczne ostrzeżenie, takie jak niepowodzenie asercji. To jest
przydatne, jeśli chcesz dowiedzieć się, która część kodu spowodowała wyświetlenie ostrzeżenia
uruchomione i w jakich okolicznościach. Po prostu ustaw G_DEBUG jak wspomniano powyżej i
uruchom program w gdb (lub niech to core dump). Następnie uzyskaj ślad stosu w zwykły
sposób.
Korzystaj z gst-launch-1.0 online za pomocą usług onworks.net