Skip to content

Instantly share code, notes, and snippets.

@wwwins
Forked from max-mapper/readme.md
Last active December 6, 2016 04:13
Show Gist options
  • Save wwwins/f58cb116ef2db3bb217a39d8607c62bd to your computer and use it in GitHub Desktop.
Save wwwins/f58cb116ef2db3bb217a39d8607c62bd to your computer and use it in GitHub Desktop.
ffmpeg youtube live event rtmp stream from raspberry pi with raspi camera (raspivid)

youtube

  1. compile ffmpeg for arm https://github.com/fiorix/ffmpeg-arm
  2. create youtube 'live event'. get rtmp url + session id
  3. run this:
raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/<SESSION>

you can tweak -b and -fps to your liking. the settings above work well for 1080p. by not specifying width or height we get the full 1920x1080 resolution from the raspi camera

note: it might work with libav-tools instead of ffmpeg (ffmpeg isnt on apt-get in raspbian) but I haven't tested it

example video created using above method: https://www.youtube.com/watch?v=Xn4yNavjdR4&t=28m0s

facebook live video

pi -> mac -> fb

on pi

raspivid -t 0 -hf -vf -ih -fps 30 -o - | nc -k -l -v 2222

on mac

nc raspberrypi.local 2222 |  ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i pipe:0 -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv "rtmp://rtmp-api.facebook.com:80/rtmp/XXXXXX"

pi -> fb

raspivid -t 0 -hf -vf -ih -fps 30 -w 1280 -h 720 -b 4000000 -o - | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv "rtmp://rtmp-api.facebook.com:80/rtmp/XXXXXX"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment