This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
linux_streaming [2006/12/13 11:29] admin |
linux_streaming [2006/12/13 12:09] admin |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Linux Streaming ====== | ====== Linux Streaming ====== | ||
- | This is a note-scrape-no-paper-book for a paper i should submit | + | Hello, this is a note-scrape-no-paper-book for a paper i should submit for a class on my university. It is about streaming under linux. |
- | [[http:// | + | I work for [[http:// |
+ | |||
+ | [[http:// | ||
===== What is Streaming ===== | ===== What is Streaming ===== | ||
Line 114: | Line 116: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | |||
Line 125: | Line 128: | ||
First of we should have a streaming server allready installed and at our disposal. If true, goto [[linux_streaming# | First of we should have a streaming server allready installed and at our disposal. If true, goto [[linux_streaming# | ||
- | get the new libogg: | + | get the libogg: |
< | < | ||
wget http:// | wget http:// | ||
+ | </ | ||
+ | |||
+ | get the libvorbis: | ||
+ | < | ||
+ | wget http:// | ||
</ | </ | ||
Line 168: | Line 176: | ||
=== Server config === | === Server config === | ||
- | Here you can see the icecast | + | Here is an an example of an icecast |
< | < | ||
Line 237: | Line 245: | ||
=== Source Setup === | === Source Setup === | ||
- | As an stream forwarder we will use darkice.. Its robust, command-line orientated, and fast. We compile darkice from the sources. The we just modify an .conf file, for example / | + | As an stream forwarder we will use [[http://darkice.tyrell.hu/ |
< | < | ||
Line 291: | Line 299: | ||
</ | </ | ||
- | After modification we just run darkice -c /etc.darkice.cfg, | + | After modification we just run darkice -c /etc/darkice.cfg, |
+ | |||
Line 297: | Line 307: | ||
===== Video Streaming ===== | ===== Video Streaming ===== | ||
- | Video sreaming | + | Video streaming |
==== Structure ==== | ==== Structure ==== | ||
Line 303: | Line 314: | ||
=== Source === | === Source === | ||
- | various... | + | * IEE1394 (FireWire Input), Video4Linux devices, video files |
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
=== Repeater === | === Repeater === | ||
- | we will use libtheora and libvorbis enabled | + | * [[http:// |
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
=== Client === | === Client === | ||
- | various, see above which can playback video.. | + | * [[http:// |
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * etc.. | ||
Line 325: | Line 345: | ||
You need to have either the video on your harddisk, or for live streaming, a FireWire compatible Camera, and firewire enabled in linux. I will not go into this, but it is the main source of problems, when the ieee1394 is not working. | You need to have either the video on your harddisk, or for live streaming, a FireWire compatible Camera, and firewire enabled in linux. I will not go into this, but it is the main source of problems, when the ieee1394 is not working. | ||
- | When you have the firewire up & ready, get and install the utikity | + | When you have the firewire up & ready, get and install the utility |
We pretend we have ieee1394 running. We should have also installed dvgrab: | We pretend we have ieee1394 running. We should have also installed dvgrab: | ||
- | This grabs the input from firewire, converts it to .ogg and sends output standard out: | + | This grabs the input from firewire, converts it to .ogg and sends output |
< | < | ||
dvgrab --format raw - | ffmpeg2theora -a 0 -v 5 -f dv -x 320 -y 240 -o /dev/stdout | dvgrab --format raw - | ffmpeg2theora -a 0 -v 5 -f dv -x 320 -y 240 -o /dev/stdout | ||
Line 339: | Line 359: | ||
dvgrab --format raw - | ffmpeg2theora -a 0 -v 5 -f dv -x 320 -y 240 -o /dev/stdout - | oggfwd | dvgrab --format raw - | ffmpeg2theora -a 0 -v 5 -f dv -x 320 -y 240 -o /dev/stdout - | oggfwd | ||
</ | </ | ||
- | where icecastserver - is the url of our streaming server | + | **icecastserver** - is the url of our streaming server\\ |
- | + | **8000** - can be any number for port number of icecast listener\\ | |
- | 8000 - can be any number for port number of icecast listener | + | **pwd** - password\\ |
- | + | **/theora.ogg** - mountpoint where we wish to have the video stream accesible | |
- | pwd - password | + | |
- | + | ||
- | /theora.ogg - mountpoint where we wish to have the video stream accesible | + | |
=== Server === | === Server === | ||
- | To use the Ogg/Theora options, we will need an libvorbis and libtheora enabled installation of IceCast Streaming Server. We download the additional libraries (we expect that we have allready installed libogg): | + | To use the Ogg/Theora options, we will need an [[http:// |
- | + | ||
- | Get libvorbis: | + | |
- | < | + | |
- | wget http:// | + | |
- | </ | + | |
Get libtheora: | Get libtheora: | ||
Line 366: | Line 378: | ||
./configure --with-ogg=/ | ./configure --with-ogg=/ | ||
</ | </ | ||
+ | |||
+ | All other options and setup is the same as with Audio. If you allready have IceCast installed, then just recompile, and thats all. | ||
=== Client === | === Client === | ||
+ | |||
+ | Setup of the desired player depends on the user ;) If you finally found the player dear to your heart, just open the url: http:// | ||
+ | |||
+ | Enjoy! :) | ||