# hu-streaming-stream

# Stream előállítása és küldése

A Videotorium jelenleg RTMP alapú Flash (h.264 videó és AAC audió) stream-et képes fogadni és továbbítani. Ennek megfelelően olyan alkalmazást érdemes keresni, amellyel támogatott ez a stream-elési mód.

Tapasztalataink alapján a következő alkalmazásokkal működik jól a Videotorium élő közvetítése:

| Név | Licenszelés | Támogatott OS | Egyéb  |
|---|---|---|---|
| Adobe Flash Media Live Encoder | Ingyenes | Windows, Mac OS X | Az Adobe.com-ról regisztrációt követően lehet letölteni  |
| ffmpeg  | Ingyenes (open source) | Windows, Mac OS X, Linux | Parancssoros felület  |
| gStreamer | Ingyenes (open source) | Windows, Mac OS X, Linux | Parancssoros felület  |

## Adobe Flash Media Live Encoder beállítások

1. Az *Encoding Options* fülön kell beállításokat végezni:
	* Adjuk meg, milyen videó és hangeszközt szeretnénk forrásként használni a stream-ünkhöz a *Device* lista használatával.
	* A videóra vonatkozó javaslatok:
		* 'Format': H.264
		* 'Frame rate': minimum 25 fps
		* 'Bitrate': HD videó esetén 2000-3000 Kbps, SD esetén 1000-2000 Kbps. Fontos, hogy itt **csak pontosan egy minőségű példányt** engedélyezzünk, mivel a Videotorium külön RTMP címre fogadja az eltérő minőségű stream-eket, így ebben az alkalmazásban nincs lehetőségünk erre. Ha egyszerre több minőséget szeretnénk küldeni, más alkalmazást (pl. Wirecast) használjunk!
	* Az audióra vonatkozó javaslatok:
		* 'Format': AAC
		* 'Channels': Mono
		* 'Sample rate': 44100 Hz
		* 'Bit rate': min. 96 Kbps
1. Streaming beállítások:
	**Stream to Flash Media Server* opció mellé tegyünk egy pipát
	* A *FMS URL* mezőbe írjuk ezt: 7rtmp://live.videotorium.hu:1935/live`
	* *Stream*: a Videotorium *Közvetítési stream-ek és helyszínek kezelése* oldalon látható, stream-hez tartozó hat számjegyű stream azonosító (a korábban feljegyzett URL utolsó 6 számjegye)
1. Lokális rögzítés bekapcsolása: *Save to File*, majd a fájl nevének megadása
1. Kapcsolat létrehozása a stream szerverrel a *Connect* gomb megnyomásával
1. Stream küldése (és a rögzítés megkezdése, ha bekapcsoltuk) a Videotorium felé a zöld színű *Start* gomb megnyomásával
1. Stream (és a rögzítés) leállítása a piros színű *Stop* gomb megnyomásával

## gStreamer beállítások

### gStreamer 0.10

```
gst-launch-0.10 v4l2src device="/dev/video0" ! decodebin name=demux ! queue ! videorate max-rate=25 ! ffmpegcolorspace ! x264enc bitrate=2048 profile="high" tune=zerolatency ! queue ! flvmux name=livemux streamable=true alsasrc ! queue ! audioconvert ! audiodynamic characteristics=soft-knee mode=compressor threshold=0.5 ratio=1 ! voaacenc ! queue ! livemux. livemux. ! queue ! rtmpsink location="rtmp://live.videotorium.hu:1935/live/[STREAM_ID]"
```

### gStreamer 1.0

```
gst-launch-1.0 v4l2src device="/dev/video0" ! decodebin name=demux ! queue ! videorate max-rate=25 ! videoconvert ! x264enc bitrate=2048 speed-preset=fast tune=zerolatency ! queue ! flvmux name=livemux streamable=true alsasrc ! queue ! audioconvert ! audiodynamic characteristics=soft-knee mode=compressor threshold=0.5 ratio=1 ! voaacenc ! queue ! livemux. livemux. ! queue ! rtmpsink location="rtmp://live.videotorium.hu:1935/live/[STREAM_ID]"
```

## ffmpeg beállítások

**1. példa**: webkamera (video4linux eszköz) képének küldése:

```
ffmpeg -f alsa -i default -f v4l2 -i /dev/video0 -r 25 -acodec libvo_aacenc -b:a 128k -vcodec libx264 -b:v 12M -g 50 -preset fast -tune zerolatency -f flv rtmp://live.videotorium.hu:1935/live/[STREAM_ID]
```

**2. példa**: képernyő képének küldése:

```
ffmpeg -f x11grab -show_region 1 -s 1024x768 -r 25 -i $DISPLAY+10,10 -vcodec libx264 -preset fast -tune zerolatency -f flv rtmp://live.videotorium.hu:1935/live/[STREAM_ID]
```


A [STREAM_ID] azonosítót a [Közvetítés létrehozása a Videotorium-on](https://help.edu.hu/books/vvc/page/hu-streaming-create) szócikk 4. pontja szerint kaphatjuk meg a Videotorium felületén.