Skip to content

Instantly share code, notes, and snippets.

@kyv
kyv / vstream
Last active August 29, 2015 14:06
envolutura para dvstream y icecast
#!/bin/bash
# Script facilitador para transmitir video con dvswitch a icecast
# Ejemplo de uso
# vstream -h 127.0.0.1 -p 2000 -d /dev/video1 -i espora.org:8000/vstream.ogg
while [[ $# > 1 ]]
do
key="$1"
shift
@kyv
kyv / dvstream.cmd
Last active August 29, 2015 14:06
command for dvswitch
dvswitch -p2000 -hlocalhost 2>&1 /dev/null &
sleep 1
avconv -v 0 -f video4linux2 -i /dev/video1 -target ntsc-dv - | \
dvsource-file /dev/stdin -p 2000 -h localhost 2>&1 /dev/null &
sleep 5
dvsink-command -h localhost -p 2000 tee /dev/null | \
@kyv
kyv / webm2icecast
Last active August 29, 2015 14:06
gst webm a icecast
gst-launch-0.10 v4l2src device=/dev/video0 ! typefind ! ffmpegcolorspace ! videorate force-fps=12/1 ! vp8enc ! \
queue ! mux. alsasrc ! audioconvert ! audioresample ! audiodynamic ! vorbisenc ! \
queue ! mux. webmmux name=mux streamable=true ! shout2send ip=127.0.0.1 port=8000 mount=montaje.webm password=XXXXX
@kyv
kyv / pls2ice
Created September 28, 2014 00:55
liquidSoapPlaylistToIcecast
#!/usr/bin/liquidsoap
set("log.file.path","./video.log")
set("frame.video.width", 320)
set("frame.video.height",240)
set("frame.video.samplerate",12)
# Videos
list = playlist("~/Downloads/Firefly/list.m3u")
@kyv
kyv / mixit.py
Last active August 29, 2015 14:06 — forked from MathieuDuponchelle/mixit.py
from gi.repository import GstPbutils
from gi.repository import Gtk
from gi.repository import Gst
from gi.repository import GES
from gi.repository import GObject
import sys
import signal
def handle_sigint(sig, frame):
@kyv
kyv / dvswitchBuildError9
Created September 27, 2014 18:58
dvswitch 0.9.1-1 build failure on archlinux
/home/kevin/proyectos/dvswitch/src/dvswitch/src/tally_rtsp_server.cpp: En el constructor ‘tally_rtsp_server::RTSPClientSession::RTSPClientSession(tally_rtsp_server&, unsigned int, int, sockaddr_in)’:
/home/kevin/proyectos/dvswitch/src/dvswitch/src/tally_rtsp_server.cpp:60:103: error: no se encontró una función coincidente para la llamada a ‘RTSPServer::RTSPClientSession::RTSPClientSession(tally_rtsp_server&, unsigned int&, int&, sockaddr_in&)’
: RTSPServer::RTSPClientSession(ourServer, sessionId, clientSocket, clientAddr), server_(ourServer)
^
/home/kevin/proyectos/dvswitch/src/dvswitch/src/tally_rtsp_server.cpp:60:103: nota: los candidatos son:
In file included from /home/kevin/proyectos/dvswitch/src/dvswitch/src/tally_rtsp_server.hpp:9:0,
from /home/kevin/proyectos/dvswitch/src/dvswitch/src/tally_rtsp_server.cpp:5:
/usr/include/liveMedia/RTSPServer.hh:271:5: nota: RTSPServer::RTSPClie
@kyv
kyv / dvswitchBuildError
Created September 27, 2014 18:47
dvswitch 0.8.3.6 build failure on archlinux
In file included from /home/kevin/proyectos/dvswitch/src/dvswitch-0.8.3.6/src/dv_display_widget.hpp:13:0,
from /home/kevin/proyectos/dvswitch/src/dvswitch-0.8.3.6/src/mixer_window.hpp:21,
from /home/kevin/proyectos/dvswitch/src/dvswitch-0.8.3.6/src/dvswitch.cpp:20:
/home/kevin/proyectos/dvswitch/src/dvswitch-0.8.3.6/src/auto_codec.hpp:22:36: error: ‘CodecID’ no se declaró en este ámbito
auto_codec auto_codec_open_decoder(CodecID);
^
/home/kevin/proyectos/dvswitch/src/dvswitch-0.8.3.6/src/auto_codec.hpp:23:50: error: ‘CodecID’ no se ha declarado
void auto_codec_open_decoder(const auto_codec &, CodecID);
^
/home/kevin/proyectos/dvswitch/src/dvswitch-0.8.3.6/src/auto_codec.hpp:23:57: error: ‘void auto_codec_open_decoder(const auto_codec&, int)’ redeclarado como un tipo diferente de símbolo
@kyv
kyv / file2icecast
Created October 3, 2014 03:28
stream local video file to icecast in webm format
gst-launch-0.10 -e filesrc location=VideoFile.avi ! decodebin name=demux ! queue ! ffmpegcolorspace ! vp8enc ! webmmux name=mux streamable=true ! shout2send ip=127.0.0.1 port=8000 mount=montaje.webm password=hackme demux. ! queue ! progressreport ! audioconvert ! audioresample ! vorbisenc ! mux
@kyv
kyv / diff-commits.js
Last active August 29, 2015 14:19
diff-commits with lodash
var _ = require("lodash");
var nodegit = require("nodegit");
var path = require("path");
// This code examines the diffs between a particular commit and all of its
// parents. Since this commit is not a merge, it only has one parent. This is
// similar to doing `git show`.
nodegit.Repository.open(path.resolve(__dirname, "./"))
.then(function(repo) {
@kyv
kyv / software libre 101
Created June 21, 2012 20:38
empezar organizar materiales para presentacion
lo que nos hace falta no es teoria, sino la experiencia a treves de lo cual la teoria obtenga su significado.
Uno
go
http://users.eniinternet.com/bradleym/ChildGo.html
http://users.eniinternet.com/bradleym/Mind.html
matematica