video
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Streaming-Server - Version 03. Februar 2010
Streaming-Server
- Aktuelle ffmpeg Version von Packman: ffmpeg-0.5.21000svn-0.pm.1.5.i586
- /etc/ffserver.conf
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>
- Zum Starten:
ffserver &
- Zum Stoppen:
killall ffserver
EINSTEIN
- /srv/www/htdocs/ball.bgweiz.at/live/index.php
<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>
Client
mplayer http://193.170.221.1:31337/stream.asf
Streaming /dev/video nach Flash Video
Kamera von eePC aufnehmen
mencoder -o /media/d4e-data/film.avi -ovc lavc -tv noaudio tv://
mplayer film.avi
- oder
mencoder tv:// -tv driver=v4l:device=/dev/video0:forceaudio:adevice=/dev/dsp -ovc lavc -oac mp3lame -o webcam.avi
mplayer webcam.avi
mms streams speichern
mplayer -dumpstream mms://orf.at/was/weiss/ich/zib.wmv -dumpfile zib.wmv
dvgrab
- überspielt Vidoes von der Camera auf den PC
- dvgrab dateiname
- -i interactive
- -f raw oder –format raw
- –autosplit
mts to avi
- for f in *.mts;do mencoder "
{f%.MTS}.avi" -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=5000 -fps 50 -vf scale=800:450; done - ffmpeg -i 00007.mts -sameq -f mp4 -vcodec mpeg4 outfile.mp4
Videostreaming
Servervoraussetzungen
- openSUSE 11.1
- root, uS….
- Kartenname: Bt878
- Treiber bttv
- Soundkarte: Intel ICH6
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
#!/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
Alter Gentoo-Server (2008)
- Gentoo 2009
- PW: TW…
- Wenn nötig X installieren : http://www.gentoo.org/doc/en/xorg-config.xml
- /etc/modules.autoload.d/kernel-2.6
bttv card=54
- ffmpeg installieren:
emerge ffmpeg
- /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>
- ffserver starten
- ffmpeg
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)
- /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>
- 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
- Zum Anschauen: http://bgweiz.at/stream
- /bgweiz.at/stream/index.php
<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>
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:
<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>
Allgemeines
- 25 fps - frames per second - PAL (Phase Alternating Line)
- 24 fps - Kinofilm
- 30 fps - NTSC
- Apple Quicktime *.mov, *.qt, *.qot
- Windows video *.avi
- Windows Internetformate *.wmf, *.wmv, *.wma
- Real Media - *.rm Streamingformat
- MPEG - Motion Picture Experts Group
- Datenrate - KB/s
- ISDN - 4 KB/s
- DVD - 5000 KB/s
- 2 Minuten Film
- ISDN - 480KB oder 60 KByte - MPEG 4 codiert
- DVD - 5000KB/s -> 75MB - MPEG 2 codiert
- H264 - modernste Codec
- Auflösung
- 1280 x 720 HD Ready
- 1920 x 1080 Full HD
- Bezeichnungen auf Fernseher
- 720 p25 - HD Ready - progressive 25 Ganzframes (PAL)
- 1080 p25 - Full HD
- Handy
- - QCIF 352 x 288 oder 176 x 144
- SuperAVConverter
RealProducer
- ./producer -m => Hilfe
- peer:/opt/realproducer # ./producer -i /media/disk-1/Dienten2008/norm2/dienten2008010.avi -o /media/disk-1/Dienten2008/norm2/dienten2008010.rm
VideoLan
VOB to flv
mplayer dvd://1 -dumpstream -dumpfile myvideo.vob
mencoder myvideo.vob -of lavf -ovc lavc -lavcopts vcodec=flv:vbitrate=150 -ofps 25 -oac mp3lame -lameopts abr:br=32 -srate 44100 -vf scale=720 -o outputfile.flv
FLV Player
flv The URL of the FLV video to be played. width Forces the video width. height Forces the video height. autoplay 1 to auto-play autoload 1 to automatically load buffer The number of seconds to buffer. By default set to 5. config The URL of the configuration text file, similar to flv_config.txt configxml The URL of the configuration XML file, similar to flv_config.xml title The title shown before loading the video margin The margin of the video with respect to the Flash object. (useful for skins). srt 1 to use SRT subtitles (the file must be at the same place as the video and have the same name, with .srt extension) showstop 1 to show the STOP button. showvolume 1 to show the VOLUME button. showtime 1 to show the TIME button loop 1 to loop. startimage The URL of the JPEG file (not progressive) to be shown before loading the video skin The URL of the JPEG file (not progressive) to load playercolor The background color of the player bar (not the flash) loadingcolor The color of loading bar bgcolor The background color bgcolor1 The first color of the background gradient bgcolor2 The second color of the background gradient buttoncolor The color of the buttons buttonovercolor Hover color of buttons slidercolor1 The first color of the bar gradient slidercolor2 The second color of the bar gradient sliderovercolor Hover color of the bar loadonstop 0 to stop the video loading by cliking on STOP button phpstream 1 to use php stream
FLV encoding mit ffmpeg und Einbau in eine Website
ffmpeg -i input.mov -ar 22050 -ab 56 -aspect 4:3 -b 200 -r 12 -f flv -s 320x240 -acodec mp3 -ac 1 output.flv
- film.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>FILM</title> </head> <body> <center> <object class="playerpreview" type="application/x-shockwave-flash" data="player.swf" width="320" height="240"> <param name="movie" value="player.swf" /> <param name="allowFullScreen" value="true" /> <param name="FlashVars" value="flv=mikrowelle.flv&title=Zum Start Play drücken&width=320&height=240&showstop=1&showvolume=1&showtime=1&showfullscreen=1&bgcolor1=189ca8&bgcolor2=085c68&playercolor=085c68" /> <p>Bitte Flash installieren</p> </object> </center> </body> </html>
video.1285273045.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
