ffserver1

In diesen Beitrag wird erklärt wie man mit einer Webcam und der Software FFmpeg & FFserver einen Audio und Video Livestream erstellt.

Ich habe dafür benutzt:

1x Logitech QuickCam für Notebooks
1x Ubuntu Netbook (Ubuntu 8.04 Hard Heron)
1x Ubuntu Server (Ubuntu 8.04 Hard Heron)

Für den Heimgebrauch kann der Stream auch vom selben Rechner aufgezeichnet und gesendet werden.

Installation:

1)  Als erstes installieren wir auf beiden Rechnern das FFmpeg packet.

sudo apt-get install ffmpeg

2) Falls noch nicht vorhanden brauch der Rechner welcher den Stream aufzeichnen soll den LAME Encoder

sudo apt-get install lame

3) Configuration vom FFserver.

Jetzt müssen auf den Rechner welcher den Stream ins Internet Senden soll die Konfigurationsdatei bearbeiten.

Bevor wir die Konfiguration bearbeiten machen wir ein Backup:

sudo mv /etc/ffserver.conf /etc/ffserver.conf_backup

Bei einen Rechner mit grafischer Oberfläche bearbeiten wir die Datei mit:

sudo gedit /etc/ffserver.conf

Bei einem Rechner welcher nur über Terminal bedient wird mit:

sudo vim /etc/ffserver.conf

Jetzt können wir den gesamten Inhalt der Konfigurationsdatei löschen und durch das ersetzen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Port 8090
# bind to all IPs aliased or not
BindAddress 0.0.0.0
# max number of simultaneous clients
MaxClients 1000
# max bandwidth per-client (kb/s)
MaxBandwidth 10000
# Suppress that if you want to launch ffserver as a daemon.
NoDaemon
 
<feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 5M
</feed>
 
<stream test.swf>
Feed feed1.ffm
Format swf
VideoCodec flv
VideoFrameRate 2
VideoBufferSize 80000
VideoBitRate 100
VideoQMin 1
VideoQMax 5
VideoSize 352x288
PreRoll 0
#Noaudio
AudioCodec mp3
AudioBitRate 32
AudioChannels 1
AudioSampleRate 44100
</stream>

Jetzt nur noch speichern und den Server starten

ffserver

4) Mit FFmpeg den Stream an den Streamingserver senden.

ffmpeg -s 352×288 -f video4linux -i /dev/video1 -f audio_device -i /
dev/dsp1 http://<ip vom server>:8090/feed1.ffm

hierbei ist /dev/video1 die Webcam. Bei Rechnern ohne eingebaute Webcam wird das wahrscheinlich /dev/video0 sein.

/dev/dsp1 ist in meinen fall das Mikrofon der Webcam.

Jetzt nur noch die IP vom Streamserver eintragen und schon sollte das ganze laufen.

Den Stream erreicht man jetzt unter: http://<ip vom server>:8090/test.swf