Flash Livestream mit FFmpeg und FFserver

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

5 Responses to “Flash Livestream mit FFmpeg und FFserver”


  • Gibt es auch die Möglichkeit H.264 Videos mit ffserver in Flash-Player livestreamen zu lassen?

    MF Sen

  • Hi Sen, Ja das sollte auch funktionieren. Du musst als quelle anstelle vom Device die H.264 Videodatei angeben.

  • Moin,

    dein beispiel funktioniert so nicht, da die Paketversionen kein mp3 unterstützen, das kann man ihnen beibringen (lame ftw.), aber nur wenn man ffmpeg dann selbst kompiliert
    (zumindest bei mir nicht)

    MfG
    dispy

  • Hi dispy,

    MP3 Sollte funktionieren wenn lame da ist. Notfalls kannst du ja noch probieren ein Codec Bundle zu installieren bei mir war es bei 2 Rechnern unterschiedlich mal brauchte ich es mal nicht. Übrigens funktioniert das ganze scheinbar nur mit der für Ubuntu 8.04 verfügbaren Version von FFmpeg bei neueren Ubuntu Distributionen scheint es sich um eine neuere FFmpeg Version zu handeln die andere und mehr Parameter erwartet.

  • Bei den neueren Versionen von Ubuntu und FFmpeg einfach den Audiocodec von “mp3″ zu “libmp3lame” ändern. Lame natürlich vorausgesetzt…

    Zitat:

    Q: I get “Unknown AudioCodec: mp3″ error when starting ffserver.
    A: You’ve got an mp3 stream configured in your ffservcer.conf but your ffmpeg/ffserver version has changed names for mp3. Try setting AudioCodec to “libmp3lame”.

    MfG multimediatechniker

Leave a Reply