Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
streaming-server [2011/02/24 14:08] admin |
streaming-server [2011/06/09 13:12] (aktuell) admin |
||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| *Maxdata silber, Intel P4 | *Maxdata silber, Intel P4 | ||
| *openSUSE 11.3 32-Bit | *openSUSE 11.3 32-Bit | ||
| + | * Benutzer: stream (wichtig für vlc!!!) | ||
| *40 GB HDD | *40 GB HDD | ||
| *2GB RAM | *2GB RAM | ||
| + | |||
| + | ====== Für Maturaball ====== | ||
| + | |||
| + | *Videokammerl: Raum 114, Netzwerkdose auf A gepatcht | ||
| + | *Strom für Kamera: Steckdose hinter Scheinwerfer 1. OG auf Höhe Chemiekammerl | ||
| + | * **Anschaffung für Maturaball 2012: 1 langes Kabel!!!** | ||
| ====== Vorbereitungen ====== | ====== Vorbereitungen ====== | ||
| + | |||
| + | *Packman-Repository | ||
| + | |||
| + | zypper ar -f http://packman.inode.at/suse/11.3 packman | ||
| + | |||
| + | *Software | ||
| + | |||
| + | zypper in ffmpeg vlc mplayer flash-player x11vnc xawtv | ||
| *Canon Kamera | *Canon Kamera | ||
| *Ausgang Canon-Klinke <-> Cinch (RCA) <-> S-Video | *Ausgang Canon-Klinke <-> Cinch (RCA) <-> S-Video | ||
| - | * *Anschaffung für Maturaball 2012: 1 langes Kabel!!!* | ||
| *Medion TV Karte | *Medion TV Karte | ||
| + | <code bash /etc/init.d/boot.local> | ||
| modprobe bttv card=54 | modprobe bttv card=54 | ||
| + | </code> | ||
| *Audio über Line-in der Onboard Soundkarte | *Audio über Line-in der Onboard Soundkarte | ||
| Zeile 22: | Zeile 38: | ||
| xawtv | xawtv | ||
| + | |||
| + | *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 48: | Zeile 66: | ||
| ===== Streamen ===== | ===== Streamen ===== | ||
| - | *http://bgweiz.at:31337 | + | *Extern ins Internet: vlc -> Netzwerkstream öffnen -> http://bgweiz.at:31337 |
| - | *http://192.168.100.40:8080 | + | *Auf Einstein Port-Forwarding aktivieren, siehe /etc/init.d/iptables.sh |
| + | |||
| + | *Hausintern: vlc -> Netzwerkstream öffnen -> http://192.168.100.40:8080 | ||
| <code bash stream.sh> | <code bash stream.sh> | ||
| Zeile 74: | 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> | ||