Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
streaming-server [2011/05/25 13:16] admin |
streaming-server [2011/06/09 13:12] admin |
||
---|---|---|---|
Zeile 39: | Zeile 39: | ||
xawtv | xawtv | ||
- | *Beim ersten Mal funktioniert xawtv nie, mit q beenden. Dann beim zweiten Mal die Videoquelle und das Bildformat umstellen (rechte Maustaste, PAL, Composite?) | + | *Beim ersten Mal funktioniert xawtv nie, mit q beenden. Dann beim zweiten Mal die Videoquelle und das Bildformat umstellen (rechte Maustaste, PAL, S-Video) |
===== LIVE Video und Audio ===== | ===== LIVE Video und Audio ===== | ||
Zeile 94: | Zeile 94: | ||
* Am Client TightVNC Server installieren | * Am Client TightVNC Server installieren | ||
* Zusätzlich Remote-Desktop erlauben | * Zusätzlich Remote-Desktop erlauben | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Streaming-Server (alt) ==== | ||
+ | |||
+ | *Aktuelle ffmpeg Version von Packman: ffmpeg-0.5.21000svn-0.pm.1.5.i586 | ||
+ | |||
+ | */etc/ffserver.conf | ||
+ | <file> | ||
+ | Port 31337 | ||
+ | BindAddress 0.0.0.0 | ||
+ | MaxClients 1000 | ||
+ | MaxBandwidth 100000 | ||
+ | # Comment the following, on production use | ||
+ | NoDaemon | ||
+ | |||
+ | <Feed feed1.ffm> | ||
+ | File /tmp/feed1.ffm | ||
+ | FileMaxSize 100M | ||
+ | #Launch ffmpeg -y -v 9 -f video4linux2 -vc 2 -tvstd PAL -s 480x384 -b 512000 -r 10 -an -i /dev/video0 | ||
+ | Launch ffmpeg -y -v 9 -f video4linux2 -vc 2 -tvstd PAL -s 480x384 -b 256000 -r 15 -an -i /dev/video0 | ||
+ | #Launch ffmpeg -r 10 -s 320x240 -f video4linux2 -i /dev/video0 -vcodec flv http://localhost:31337/feed1.ffm | ||
+ | </Feed> | ||
+ | |||
+ | #<Stream stream.flv> | ||
+ | # Feed feed1.ffm | ||
+ | # Format flv | ||
+ | # VideoCodec flv | ||
+ | # VideoFrameRate 2 | ||
+ | # VideoBufferSize 80000 | ||
+ | # VideoBitRate 256 | ||
+ | # VideoQMin 1 | ||
+ | # VideoQMax 5 | ||
+ | # VideoSize 480x384 | ||
+ | # PreRoll 0 | ||
+ | # Noaudio | ||
+ | #</Stream> | ||
+ | |||
+ | ## SWF output | ||
+ | #<Stream stream.swf> | ||
+ | # Feed feed1.ffm | ||
+ | # Format swf | ||
+ | # VideoCodec flv | ||
+ | # VideoFrameRate 15 | ||
+ | # VideoBitRate 200 | ||
+ | # VideoQMin 5 | ||
+ | # VideoQMin 5 | ||
+ | # VideoSize 320x240 | ||
+ | # PreRoll 0 | ||
+ | # Noaudio | ||
+ | #</Stream> | ||
+ | |||
+ | # ASF compatible | ||
+ | <Stream stream.asf> | ||
+ | Feed feed1.ffm | ||
+ | Format asf | ||
+ | VideoFrameRate 15 | ||
+ | VideoSize 352x240 | ||
+ | VideoBitRate 256 | ||
+ | VideoBufferSize 40 | ||
+ | VideoGopSize 30 | ||
+ | AudioBitRate 64 | ||
+ | StartSendOnKey | ||
+ | Noaudio | ||
+ | </Stream> | ||
+ | |||
+ | |||
+ | # SWF output | ||
+ | <Stream stream.swf> | ||
+ | Feed feed1.ffm | ||
+ | Format swf | ||
+ | VideoCodec flv | ||
+ | VideoFrameRate 15 | ||
+ | VideoBitRate 512 | ||
+ | VideoQMin 5 | ||
+ | VideoQMax 9 | ||
+ | VideoSize 480x384 | ||
+ | PreRoll 0 | ||
+ | Noaudio | ||
+ | </Stream> | ||
+ | |||
+ | </file> | ||
+ | |||
+ | *Zum Starten: | ||
+ | |||
+ | ffserver & | ||
+ | |||
+ | *Zum Stoppen: | ||
+ | |||
+ | killall ffserver | ||
+ | |||
+ | ==== EINSTEIN ==== | ||
+ | |||
+ | */srv/www/htdocs/ball.bgweiz.at/live/index.php | ||
+ | |||
+ | <file> | ||
+ | <html><head> | ||
+ | <title>Live-Streaming</title> | ||
+ | <meta http-equiv="refresh" content="1200" /> | ||
+ | <link rel="stylesheet" href="../style.css" /> | ||
+ | </head> | ||
+ | <body style="background-color: #000000; text-align: center"> | ||
+ | |||
+ | <h1 style="color: #ffffff;">Flash Live Stream</h1> | ||
+ | |||
+ | <p><a href="/">zurück</a></p> | ||
+ | <p><a href="http://193.170.221.1:31337/stream.asf">Windows Media Player Stream</a></p> | ||
+ | <p> | ||
+ | |||
+ | <object classid="CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000" width="480" height="384" | ||
+ | codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0"> | ||
+ | <param name="movie" value="http://193.170.221.1:31337/stream.swf"> | ||
+ | <embed src="http://193.170.221.1:31337/stream.swf" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" width="480" height="384"> | ||
+ | </embed> | ||
+ | </object> | ||
+ | |||
+ | <!-- | ||
+ | <object class="playerpreview" type="application/x-shockwave-flash" data="player.swf" width="480" height="384"> | ||
+ | <param name="movie" value="player.swf" /> | ||
+ | <param name="allowFullScreen" value="true" /> | ||
+ | <param name="FlashVars" value="flv=http://193.170.221.1:31337/stream.flv&width=480&height=384&showstop=1&showvolume=1&showtime=1&showfullscreen=1&bgcolor=003d7e&bgcolor1=003d7e&bgcolor2=003d7e&autoplay=1" /> | ||
+ | <p>Bitt Flash installieren.</p> | ||
+ | </object> | ||
+ | --> | ||
+ | |||
+ | </p> | ||
+ | |||
+ | </body></html> | ||
+ | </file> | ||
+ | |||
+ | ===== Client ===== | ||
+ | |||
+ | mplayer http://193.170.221.1:31337/stream.asf | ||
+ | |||
+ | |||
+ | ==== Servervoraussetzungen ==== | ||
+ | |||
+ | *openSUSE 11.1 | ||
+ | *root, uS.... | ||
+ | *Kartenname: Bt878 | ||
+ | *Treiber bttv | ||
+ | *Soundkarte: Intel ICH6 | ||
+ | *[[http://wiki.ubuntuusers.de/BT878|Link]] | ||
+ | |||
+ | dmesg | grep bttv => card=54 | ||
+ | | ||
+ | rmmod bt878 bttv | ||
+ | |||
+ | modprobe bttv card=54 | ||
+ | |||
+ | */etc/modprobe.d/tv_bttv | ||
+ | |||
+ | options bttv card=54 | ||
+ | |||
+ | ==== Video Kanäle ==== | ||
+ | |||
+ | *0 = Television | ||
+ | *1 = Composite | ||
+ | *2 = s-video | ||
+ | |||
+ | ==== Port-Weiterleitung ==== | ||
+ | |||
+ | <code bash iptables.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | iptables -F | ||
+ | iptables -X | ||
+ | iptables -t nat -F | ||
+ | iptables -t nat -X | ||
+ | iptables -t mangle -F | ||
+ | iptables -t mangle -X | ||
+ | iptables -P INPUT ACCEPT | ||
+ | iptables -P FORWARD ACCEPT | ||
+ | iptables -P OUTPUT ACCEPT | ||
+ | |||
+ | echo 1 > /proc/sys/net/ipv4/ip_forward | ||
+ | iptables -F -t nat | ||
+ | iptables -t nat -A PREROUTING -p tcp --dport 31337 -j DNAT --to 192.168.100.40:31337 | ||
+ | iptables -t nat -A POSTROUTING -j MASQUERADE | ||
+ | </code> | ||
+ | |||
+ | ==== Alter Gentoo-Server (2008) ==== | ||
+ | |||
+ | *Gentoo 2009 | ||
+ | *PW: TW... | ||
+ | *Wenn nötig X installieren : [[http://www.gentoo.org/doc/en/xorg-config.xml|http://www.gentoo.org/doc/en/xorg-config.xml]] | ||
+ | |||
+ | */etc/modules.autoload.d/kernel-2.6 | ||
+ | |||
+ | bttv card=54 | ||
+ | |||
+ | *ffmpeg installieren: | ||
+ | |||
+ | emerge ffmpeg | ||
+ | |||
+ | <code /etc/ffserver.conf> | ||
+ | Port 8090 | ||
+ | BindAddress 0.0.0.0 | ||
+ | MaxHTTPConnections 1000 | ||
+ | MaxClients 1000 | ||
+ | MaxBandwidth 2000 | ||
+ | CustomLog - | ||
+ | NoDaemon | ||
+ | |||
+ | ################################################################## | ||
+ | |||
+ | <Feed feed1.ffm> | ||
+ | File /tmp/feed1.ffm | ||
+ | FileMaxSize 50M | ||
+ | ACL allow 127.0.0.1 | ||
+ | </Feed> | ||
+ | |||
+ | ################################################################## | ||
+ | |||
+ | # JPEG | ||
+ | |||
+ | <Stream test.jpg> | ||
+ | Feed feed1.ffm | ||
+ | Format jpeg | ||
+ | VideoFrameRate 2 | ||
+ | VideoIntraOnly | ||
+ | VideoSize 480x384 | ||
+ | #NoAudio | ||
+ | Strict -1 | ||
+ | </Stream> | ||
+ | |||
+ | #Flash | ||
+ | |||
+ | <Stream stream.swf> | ||
+ | Feed feed1.ffm | ||
+ | VideoBitRate 256 | ||
+ | VideoFrameRate 25 | ||
+ | VideoBufferSize 80000 | ||
+ | Format swf | ||
+ | VideoFrameRate 25 | ||
+ | VideoSize 480x384 | ||
+ | VideoQMin 3 | ||
+ | VideoQMax 5 | ||
+ | VideoCodec flv | ||
+ | #NoAudio | ||
+ | PreRoll 0 | ||
+ | </Stream> | ||
+ | |||
+ | ################################################################## | ||
+ | # Special streams | ||
+ | |||
+ | # Server status | ||
+ | |||
+ | <Stream stat.html> | ||
+ | Format status | ||
+ | |||
+ | # Only allow local people to get the status | ||
+ | ACL allow localhost 192.168.100.0 | ||
+ | #ACL allow 10.0.0.0 10.0.0.255 | ||
+ | #ACL allow 0.0.0.0 | ||
+ | |||
+ | #FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico | ||
+ | </Stream> | ||
+ | |||
+ | <Redirect index.html> | ||
+ | URL http://www.ffmpeg.org/ | ||
+ | </Redirect> | ||
+ | |||
+ | </code> | ||
+ | |||
+ | *ffserver starten | ||
+ | |||
+ | ffmpeg -y -v 9 -f video4linux2 -vc 2 -tvstd PAL -s 480x384 -r 25 -i /dev/video0 -vcodec flv http://localhost:8090/feed1.ffm | ||
+ | |||
+ | === Stream speichern === | ||
+ | |||
+ | *ffmpeg und Download müssen mehr oder weniger gleichzeitig gestartet werden: | ||
+ | |||
+ | *ffserver und ffmpeg ganz normal wie oben erwähnt ausführen | ||
+ | *In den Ordner wechseln, in den man den Stream speichern will | ||
+ | |||
+ | w3m http://localhost:8090/stat.html | ||
+ | |||
+ | *stream.swf mit ENTER auswählen, Download starten | ||
+ | |||
+ | |||
+ | ==== Streaming mit ffmpeg (Ausgabe = Flash-Film = gute Qualität) ==== | ||
+ | |||
+ | <code /etc/ffserver.conf> | ||
+ | Port 31337 | ||
+ | #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 50M | ||
+ | </Feed> | ||
+ | |||
+ | <Stream stream.swf> | ||
+ | Feed feed1.ffm | ||
+ | Format swf | ||
+ | VideoCodec flv | ||
+ | VideoFrameRate 24 | ||
+ | VideoBufferSize 80000 | ||
+ | VideoBitRate 256 | ||
+ | #VideoQMin 1 | ||
+ | #VideoQMax 5 | ||
+ | VideoSize 352x288 | ||
+ | PreRoll 0 | ||
+ | Noaudio | ||
+ | </Stream> | ||
+ | |||
+ | </code> | ||
+ | |||
+ | *ffserver starten und laufen lassen | ||
+ | |||
+ | nb02:/etc # ffserver | ||
+ | |||
+ | *ffmpeg starten und laufen lassen | ||
+ | |||
+ | nb02:/etc # ffmpeg -r 24 -s 352x288 -f video4linux2 -i /dev/video0 http://localhost:31337/feed1.ffm | ||
+ | |||
+ | <code html stream.html> | ||
+ | <file> | ||
+ | <html> | ||
+ | <head><title>Live-Übertragung - Maturaball BG/BRG Weiz</title></head> | ||
+ | <body> | ||
+ | <embed src="http://84.119.8.108:31337/stream.swf" width=352 height=288 type="application/x-shockwave-flash"></embed> | ||
+ | </body> | ||
+ | </html> | ||
+ | </code> | ||
+ | |||
+ | ==== Streaming mit VLC (Ausgabe = Windows Media Stream = Schlechtere Qualität) ==== | ||
+ | |||
+ | *vlc -> Medien -> Streaming -> Aufnahmegerät öffnen (Einstellungen durchführen) -> Stream -> | ||
+ | *Outputs: Lokal wiedergeben, HTTP: ip-adresse PORT: 8080 | ||
+ | *Profil: windows (wmv,asf) | ||
+ | *Stream (bzw. ALT+S) | ||
+ | |||
+ | *Anschauen etwa mit: | ||
+ | |||
+ | mplayer http://ip-adresse:8080 | ||
+ | |||
+ | * oder im Internet in HTML eingebunden: | ||
+ | |||
+ | <code html stream.html> | ||
+ | <html> | ||
+ | <head><title>Live-Übertragung - Maturaball BG/BRG Weiz</title></head> | ||
+ | <body> | ||
+ | |||
+ | <object id="Player1" width="426" height="305" classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6" type="application/x-mplaye | ||
+ | r2"> | ||
+ | <param name="url" value="http://localhost:8080" /> | ||
+ | <param name="FileName" value="http://localhost:8080" /> | ||
+ | <param name="ShowControls" value="1" /> | ||
+ | <param name="ShowDisplay" value="0" /> | ||
+ | <param name="ShowStatusBar" value="1" /> | ||
+ | <param name="AutoSize" value="1" /> | ||
+ | <param name="stretchToFit" value=0 /> | ||
+ | <param name="AutoStart" value="1" /> | ||
+ | <embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" | ||
+ | src="http://localhost:8080" Name="NSPlayer1" ShowControls="1" ShowDisplay="0" ShowStatusBar="1" AutoSize="0" AutoStart="1" wi | ||
+ | dth="426" height="305" /> | ||
+ | </object> | ||
+ | |||
+ | <a href="">Windows Media Player</a> bzw. <a href="">VLC</a> werden benötigt. | ||
+ | </body> | ||
+ | </html> | ||
+ | </code> |