title The Yak tries Linux Webcam Video
user strick
ip 216.239.45.4
vol 1
lock ********
/b The story so far:
Using Ubuntu Desktop 8.02 (Hardy Heron),
a little Logitech pokéball-shaped webcam
is automatically recognized by the kernel.
With System > Administration > Synaptic Package Manager,
we search for "webcam" and find "camorama".
Install it, and run "camorama" at the command line.
It just works.
...
/b What we want:
A videoconference server and client screen,
for multiple people to connect to.
/section Jan 2, 2009
ffmpeg commands http://docs.blackfin.uclinux.org/doku.php?id=uclinux-dist:ffmpeg
Records cam video to avi
ffmpeg -r 20 -f video4linux2 -s 352x288 -i /dev/video0 -an -f avi ./test.avi
Streams to a player at 192.169.9.107 listening on port 1234
ffmpeg -f video4linux2 -s cif -r 15 -i /dev/video0 -v 0 -vcodec mpeg4 -f mpegts udp:192.168.9.107:1234
ffserver sample config file: http://www.ffmpeg.org/sample.html
ubuntu webcam through ffserver and ffmpeg example: http://ubuntuforums.org/archive/index.php/t-665607.html
/box(
10062 ? S 0:01 gedit file:///home/strick/build/ffmpegTest/ffserverEx2.conf
10109 pts/1 S+ 0:04 ffserver -d -f ffserverEx2.conf
10120 pts/3 S+ 0:55 ffmpeg -r 15 -s 352x288 -f video4linux2 -i /dev/video0 http://localhost:8090/feed1.ffm
/box)
/box(
/pre(
Port 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
File /tmp/feed1.ffm
FileMaxSize 5M
# ASF output - for windows media player
# the source feed
Feed feed1.ffm
# the output stream format - ASF
Format mpegts
VideoCodec mpeg4
# this must match the ffmpeg -r argument
VideoFrameRate 15
# generally leave this is a large number
VideoBufferSize 80000
# another quality tweak
VideoBitRate 200
# quality ranges - 1-31 (1 = best, 31 = worst)
VideoQMin 1
VideoQMax 5
VideoSize 352x288
# this sets how many seconds in past to start
PreRoll 0
# wecams don't have audio
Noaudio
/pre)
/box)
combines video: ffmpeg -i test1.avi -i test2.avi -vcodec copy -vcodec copy test12.avi -newvideo
gstreamer test: gst-launch-0.10 videotestsrc \! autovideosink
gstreamer + commandline toys: http://noraisin.net/~jan/diary/?p=40
/box(
/b More Working Stuff:
gst-launch-0.10 v4l2src ! video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! xvimagesink
gst-launch-0.10 -v -vv v4l2src ! queue ! video/x-raw-yuv,width=320,height=240,framerate="(fraction)10/1" ! queue ! videorate ! videoscale ! ffmpegcolorspace ! xvimagesink
/b Sender: might be working: but not with receiver?
gst-launch-0.10 -v -vv v4l2src ! queue ! video/x-raw-yuv,width=320,height=240,framerate="(fraction)10/1" ! queue ! videorate ! videoscale ! ffmpegcolorspace ! queue ! tcpserversink host=192.168.9.106 port=5555
/box)
OLPC on GStreamer: http://wiki.laptop.org/go/GStreamer
~ Saturday Jan 11, 2009 - Found out Uhura was using an old version of Ubuntu. Upgraded it to the latest version and Video LAN Client works in capturing video now. VLC 0.9.x uses Video4Linux2 which has better support for webcams.
/ ~Ryan
~ I think VLC interfaces or bindings are the way to go. http://wiki.videolan.org/Interface VLC already works to stream and capture, we can build a new interface for it, tuned to our needs. See "Build an application on VLC" here: http://wiki.videolan.org/Developers_Corner
/ ~Ryan
/bar
/bar
/bar
/discussion MORE NOTES
/section Cache
/list(
* /file multicast-rtp-etc.html UDP, TCP, RTP, RTSP, Unicast, Multicast... -- HTMLized cache of http://www.vbrick.net/Topics/RTSP.asp -- by Rich Mavrogeanes
/list)
* /file udp.py
* /file udp.py
* /file client4.py
* /file both.sh
* /file lx-send.txt
* /file lx-recv.txt
* /file win-recv.txt
* /file win-send.txt
* /file multi-vid.sh
* /file pygst-webcam-viewer.py
* /file bot