YaK:: The Yak tries Linux Webcam Video [Changes]   [Calendar]   [Search]   [Index]   [PhotoTags]   

The Yak tries Linux Webcam Video

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.


What we want:

A videoconference server and client screen, for multiple people to connect to.

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 listening on port 1234

ffmpeg -f video4linux2 -s cif -r 15 -i /dev/video0 -v 0 -vcodec mpeg4 -f mpegts udp:

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
# 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.

<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 5M

# 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

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= 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.

~ 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


showing 10 of 34 messages     [Show 3 7 *10* 14 30 100 999 days or *10* 30 50 100 999 messages]


by strick:


by strick:


by strick:
WHITEPAPER – IP Streaming of MPEG-4: Native RTP vs MPEG-2 TS http://www.envivio.com/pdf/RTPvsTS-v4.pdf


by strick:
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

by strick:
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

by strick:


by strick:


by strick:

$ cat /usr/local/bin/a

cd $HOME/Downloads

mkdir -p "$DIR"

case $# in
  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"
  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,"
    sleep 1
  echo WTF: $* >&2
  exit 13

by strick:

by strick:
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.

Post a new message:



  • udp.py
  • udp.py
  • client4.py
  • both.sh
  • lx-send.txt
  • lx-recv.txt
  • win-recv.txt
  • win-send.txt
  • multi-vid.sh
  • pygst-webcam-viewer.py
  • both-lx.sh
  • (unless otherwise marked) Copyright 2002-2014 YakPeople. All rights reserved.
    (last modified 2010-01-20)       [Login]
    (No back references.)