Skip to content

Instantly share code, notes, and snippets.

@fcecagno
Last active August 29, 2015 14:04
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 fcecagno/9d12abf8140802d52f2e to your computer and use it in GitHub Desktop.
Save fcecagno/9d12abf8140802d52f2e to your computer and use it in GitHub Desktop.
FFmpeg on trusty
#!/bin/bash
set -e
sudo apt-get install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev libxfixes-dev zlib1g-dev pkg-config libxext-dev libv4l-dev netcat
FFMPEG_VERSION=2.3.3
if [ ! -d "/usr/local/src/ffmpeg-${FFMPEG_VERSION}" ]; then
cd /usr/local/src
sudo wget "http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2"
sudo tar -xjf "ffmpeg-${FFMPEG_VERSION}.tar.bz2"
cd "ffmpeg-${FFMPEG_VERSION}"
sudo ./configure --enable-x11grab --enable-gpl --enable-version3 --enable-postproc --enable-libvorbis --enable-libvpx
sudo make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:${FFMPEG_VERSION}" --backup=no --deldoc=yes --default
fi
@fcecagno
Copy link
Author

fcecagno commented Oct 9, 2014

To stream the screen as a webcam:

IW=1360; IH=768; OW=640; OH=480; ffmpeg -f x11grab -r 30 -s "$IW"x"$IH" -i :0.0+0,0 -filter:v "scale=iw*min($OW/iw\,$OH/ih):ih*min($OW/iw\,$OH/ih),pad=$OW:$OH:($OW-iw)/2:($OH-ih)/2" -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video1

@fcecagno
Copy link
Author

fcecagno commented Oct 9, 2014

To install Video4Linux loopback

sudo apt-get install -y v4l2loopback-dkms
sudo modprobe v4l2loopback

@mariogasparoni
Copy link

To load more devices

sudo modprobe v4l2loopback devices=2

if the v4l2loopback module is already loaded in your system, you need to remove and reload it.

@mariogasparoni
Copy link

To enable rtmp support:
(tested with 2.4.2 version of ffmpeg)

  1. Change the version to 2.4.2
FFMPEG_VERSION=2.4.2
  1. Add 'librtmp-dev' package in the 'apt-get install' command
sudo apt-get install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev libxfixes-dev zlib1g-dev pkg-config libxext-dev libv4l-dev netcat librtmp-dev
  1. in the 'configure' line add ' --enable-libtmp' :
...
./configure --enable-x11grab --enable-gpl --enable-version3 --enable-postproc --enable-libvorbis --enable-libvpx --enable-librtmp
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment