Skip to content

Instantly share code, notes, and snippets.

@oneman
Created February 8, 2012 21:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oneman/1773943 to your computer and use it in GitHub Desktop.
Save oneman/1773943 to your computer and use it in GitHub Desktop.
Krad Cam
Release early release often...
Here is a mostly static binary of krad cam: (64bit linux)
http://media.kradradio.com/files/KradRadio/krad_cam
wget http://media.kradradio.com/files/KradRadio/krad_cam
chmod +x krad_cam
./krad_cam
That will record into a timestamped file in your ~/Videos directory
to broadcast with icecast:
./krad_cam -l deimos.kradradio.com -m /teststream8.webm -n 8080 -v secretkode
some keys to hit: q to quit, l to show live bug, f for a fun game
to play with mplayer:
mplayer -cache 2200 -cache-min 45 http://deimos.kradradio.com:8080/teststream2.webm
some options:
-b /somfile.png use a bug, hit b key to enable
-w width
-h height
-f fps
-o /outputfile.webm
-d /dev/video1 (to set v4l2 device)
-p to use pulseaudio
-j to use jack
-a for alsa (default)
-l host
-m mount
-n port
-v password
-g bitrate
remote will take priority if you spec both
open server:
http://deimos.kradradio.com:8080/
password: secretkode
port: 8080
host: deimos.kradradio.com
Your cam needs to provide all the fps that it should be providing, this is tricky due to auto exposure on so many webcams, here isa hint:
v4l2-ctl --set-ctrl=exposure_auto=1
v4l2-ctl --set-ctrl=exposure_absolute=350
v4l2-ctl --set-ctrl=exposure_auto_priority=0
You need to have the jack libraries installed, but you don't have to use jack
Test signal app (also a 64bit binary)
Does not require X or sound.
wget http://media.kradradio.com/files/KradRadio/krad_signal_generator_cmd
chmod +x krad_signal_generator_cmd
./krad_signal_generator_cmd
./krad_signal_generator_cmd -b 800 -t testmonkey -m /testsignal123.webm -s secretkode -i deimos.kradradio.com -p 8080
Source code: https://github.com/krad-radio/krad_ebml_experimental
[oneman@rawdod4::~/kode/krad_ebml_experimental/krad_ebml_tools/krad_lab]$ ldd krad_cam
linux-vdso.so.1 => (0x00007f1ea95dd000)
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x00007f1ea9344000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1ea9090000)
libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f1ea8dd1000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f1ea8bc9000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007f1ea896d000)
libjack.so.0 => /usr/local/lib/libjack.so.0 (0x00007f1ea8719000)
libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f1ea84d2000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007f1ea81e7000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1ea7fc9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1ea7c2a000)
libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f1ea79e0000)
libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f1ea7510000)
libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f1ea72e4000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1ea70e0000)
libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007f1ea6edb000)
libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f1ea6c67000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f1ea6a31000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f1ea6798000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f1ea6571000)
libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f1ea636e000)
libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f1ea6164000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f1ea5f48000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f1ea5d3d000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f1ea5a04000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f1ea57ec000)
libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f1ea55c8000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f1ea53b4000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f1ea51b1000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f1ea4fab000)
libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f1ea4da4000)
libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f1ea4b99000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1ea95de000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1ea4892000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1ea467b000)
libjson.so.0 => /usr/lib/x86_64-linux-gnu/libjson.so.0 (0x00007f1ea4473000)
libpulsecommon-1.0.so => /usr/lib/x86_64-linux-gnu/libpulsecommon-1.0.so (0x00007f1ea4215000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f1ea3fd1000)
libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f1ea3dca000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f1ea3b9f000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f1ea399c000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f1ea3796000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f1ea358c000)
libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f1ea3325000)
libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007f1ea311e000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f1ea2f04000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f1ea2ce8000)
[oneman@rawdod4::~/kode/krad_ebml_experimental/krad_ebml_tools/krad_lab]$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment