LibrePlanet: Conference/2016/Streaming
From LibrePlanet
Line 1: | Line 1: | ||
− | Keynote capture script | + | == Keynote capture script == |
<pre> | <pre> | ||
Line 23: | Line 23: | ||
s. ! queue leaky=2 ! shout2send ip=live2.fsf.org port=80 mount=keynote.webm password=$PASSWORD sync=false 2>&1 | tee keynote-${DATE}.log | s. ! queue leaky=2 ! shout2send ip=live2.fsf.org port=80 mount=keynote.webm password=$PASSWORD sync=false 2>&1 | tee keynote-${DATE}.log | ||
</pre> | </pre> | ||
+ | |||
+ | == OpenBroadcaster 2 v4l == | ||
+ | |||
+ | === Building/installing: === | ||
+ | <pre> | ||
+ | |||
+ | #Install dependencies: | ||
+ | |||
+ | # apt-get install build-essential pkg-config cmake git checkinstall libx11-dev libgl1-mesa-dev libpulse-dev libxcomposite-dev libxinerama-dev libv4l-dev libudev-dev libfreetype6-dev libfontconfig-dev qtbase5-dev libqt5x11extras5-dev libx264-dev libxcb-xinerama0-dev libxcb-shm0-dev libjack-jackd2-dev libcurl4-openssl-dev zlib1g-dev yasm gstreamer-tools | ||
+ | |||
+ | Download and build ffmpeg: | ||
+ | |||
+ | $ git clone --depth 1 git://source.ffmpeg.org/ffmpeg.git | ||
+ | $ cd ffmpeg | ||
+ | $ ./configure --enable-shared --prefix=/usr | ||
+ | $ make -j4 | ||
+ | |||
+ | # checkinstall --pkgname=FFmpeg --fstrans=no --backup=no \ | ||
+ | --pkgversion="$(date +%Y%m%d)-git" --deldoc=yes | ||
+ | |||
+ | Download and build obs: | ||
+ | |||
+ | $ git clone https://github.com/jp9000/obs-studio.git | ||
+ | $ cd obs-studio | ||
+ | $ mkdir build && cd build | ||
+ | $ cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr .. | ||
+ | $ make -j4 | ||
+ | # checkinstall --pkgname=obs-studio --fstrans=no --backup=no \ | ||
+ | --pkgversion="$(date +%Y%m%d)-git" --deldoc=yes | ||
+ | |||
+ | Install v4l loop: | ||
+ | |||
+ | # apt-get install v4l2loopback-dkms | ||
+ | # echo v4l2loopback >> /etc/modules | ||
+ | # modprobe v4l2loopback | ||
+ | |||
+ | |||
+ | Install local stream manager: | ||
+ | |||
+ | # apt-get install crtmpserver | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | === Setup === | ||
+ | |||
+ | Run obs, set streaming settings to: |
Revision as of 18:20, 10 March 2016
Keynote capture script
#!/bin/bash xid=$(xwininfo -root -all|grep "Jitsi Meet" | sed -e 's/^ *//' | cut -d\ -f1) [ 1${xid}1 != 11 ] && xidparameter="xid=$xid" export GST_DEBUG=4 DATE=$(date +%Y-%m-%d-%H_%M_%S) PASSWORD=xxx # pactl list|grep alsa_output device1="alsa_output.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00-CODEC.analog-stereo.monitor" device2="alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00-CODEC.analog-stereo" gst-launch-1.0 --gst-debug-level=$1 --eos-on-shutdown ximagesrc use-damage=false $xidparameter show-pointer=false ! videoconvert ! videorate ! video/x-raw,framerate=20/1 ! videoscale ! video/x-raw, width=1024, height=768 ! \ vp8enc min_quantizer=1 max_quantizer=10 cpu-used=10 deadline=41000 threads=2 ! queue ! mux. \ pulsesrc device=$device1 ! adder name=mix ! vorbisenc quality=0.4 ! queue ! mux. \ pulsesrc device=$device2 ! mix. \ webmmux streamable=true name=mux ! queue ! tee name=s ! queue ! filesink location=keynote-${DATE}.webm \ s. ! queue leaky=2 ! shout2send ip=live2.fsf.org port=80 mount=keynote.webm password=$PASSWORD sync=false 2>&1 | tee keynote-${DATE}.log
OpenBroadcaster 2 v4l
Building/installing:
#Install dependencies: # apt-get install build-essential pkg-config cmake git checkinstall libx11-dev libgl1-mesa-dev libpulse-dev libxcomposite-dev libxinerama-dev libv4l-dev libudev-dev libfreetype6-dev libfontconfig-dev qtbase5-dev libqt5x11extras5-dev libx264-dev libxcb-xinerama0-dev libxcb-shm0-dev libjack-jackd2-dev libcurl4-openssl-dev zlib1g-dev yasm gstreamer-tools Download and build ffmpeg: $ git clone --depth 1 git://source.ffmpeg.org/ffmpeg.git $ cd ffmpeg $ ./configure --enable-shared --prefix=/usr $ make -j4 # checkinstall --pkgname=FFmpeg --fstrans=no --backup=no \ --pkgversion="$(date +%Y%m%d)-git" --deldoc=yes Download and build obs: $ git clone https://github.com/jp9000/obs-studio.git $ cd obs-studio $ mkdir build && cd build $ cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr .. $ make -j4 # checkinstall --pkgname=obs-studio --fstrans=no --backup=no \ --pkgversion="$(date +%Y%m%d)-git" --deldoc=yes Install v4l loop: # apt-get install v4l2loopback-dkms # echo v4l2loopback >> /etc/modules # modprobe v4l2loopback Install local stream manager: # apt-get install crtmpserver
Setup
Run obs, set streaming settings to: