YaK:: The Yak tries Linux Webcam Video | [Changes] [Calendar] [Search] [Index] [PhotoTags] |
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.
...
What we want:
A videoconference server and client screen, for multiple people to connect to.
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
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 |
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 <Feed feed1.ffm> File /tmp/feed1.ffm FileMaxSize 5M </Feed> # ASF output - for windows media player <Stream test.mpg> # 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 </Stream> |
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
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 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
|
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
MORE NOTESshowing 10 of 34 messages [Show 3 7 14 30 *100* 999 days or *10* 30 50 100 999 messages] |
|
[edit]
|
|
[edit]
|
|
[edit]
|
WHITEPAPER – IP Streaming of MPEG-4: Native RTP vs MPEG-2 TS
http://www.envivio.com/pdf/RTPvsTS-v4.pdf
|
|
[edit]
|
ffmpeg Example: Convert to mp4
ffmpeg -acodec copy -b 820000 -i 22\ Things\ In\ My\ Pants.flv ffmpeg_820_22\ Things\ In\ My\ Pants.flv.mp4 |
|
[edit]
|
mencoder example -- I think using mp3 was a mistake.
for x; do echo $x ; mencoder -ovc x264 -oac mp3lame "$x" -o "mencode_$x.mp4" ; done |
|
[edit]
|
PBKDF2 (Password-Based Key Derivation Function) => http://tools.ietf.org/html/rfc2898
CCM => http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ccm/ccm.pdf => http://www.ietf.org/rfc/rfc3610.txt |
|
[edit]
|
|
[edit]
|
$ cat /usr/local/bin/a #!/bin/bash cd $HOME/Downloads DIR="$1" mkdir -p "$DIR" case $# in 1) ls *.mp4 *.flv *.mp4.crdownload *.flv.crdownload *.mp4.part *.flv.part 2>/dev/null | while read f ; do test -f "$f" && test -s "$f" || continue case "$f" in *.crdownload ) g=$(basename "$f" .crdownload) test -f ",$g," && continue bash "$0" "$DIR" "$f" & echo ::::: $! ::::: "$DIR" ::::: "$f" >&2 ;; *.part ) g=$(basename "$f" .part) test -f ",$g," && continue bash "$0" "$DIR" "$f" & echo ::::: $! ::::: "$DIR" ::::: "$f" >&2 ;; * ) mv -v "$f" "$DIR" ;; esac done ;; 2) f="$2" g=$(basename "$f" .crdownload) g=$(basename "$g" .part) ln "$f" ",$g," while true ; do if test -f "$g" && test -s "$g"; then echo " $$ @@@" >&2 mv -v "$g" "$DIR" rm ",$g," break fi sleep 1 done ;; *) echo WTF: $* >&2 exit 13 ;; esac |
|
[edit]
|
Foo
|
|
[edit]
|
Remark this is a function.
Come into this is a function. New line
This is a function. Carriage return
B**** make me a function.
B**** define class camel virtual database proxy extending object.
B**** import built in operating system.
Declare of thirst rick at the yac
Let routing end of file become negative 1.
Lets shout ing in the file.
|
(last modified 2010-01-20) [Login] |