Benutzer-Werkzeuge

Webseiten-Werkzeuge


video

Dies ist eine alte Version des Dokuments!


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&uuml;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&amp;width=480&amp;height=384&amp;showstop=1&amp;showvolume=1&amp;showtime=1&amp;showfullscreen=1&amp;bgcolor=003d7e&amp;bgcolor1=003d7e&amp;bgcolor2=003d7e&amp;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" -o "${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)

  • /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
  • /bgweiz.at/stream/index.php
<html>
<head><title>Live-&Uuml;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-&Uuml;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&ouml;tigt.
</body>
</html>

Allgemeines

  • 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 -&gt; 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

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&amp;title=Zum Start Play drücken&amp;width=320&amp;height=240&amp;showstop=1&amp;showvolume=1&amp;showtime=1&amp;showfullscreen=1&amp;bgcolor1=189ca8&amp;bgcolor2=085c68&amp;playercolor=085c68" />
 <p>Bitte Flash installieren</p>
</object>
</center>
</body>
</html>
video.1285273045.txt.gz · Zuletzt geändert: 2011/01/03 21:25 (Externe Bearbeitung)