Git Product home page Git Product logo

piriscope's Introduction

Piriscope

Livestream to Periscope from the Raspberry Pi.

Hardware Setup

You will need the following:

Software Setup

Piriscope is designed to work with Raspbian.

As a Raspbian Package (.deb)

apt-get install x264 v4l-utils
sudo modprobe bcm2835-v4l2
echo bcm2835-v4l2 | sudo tee -a /etc/modules
curl -LO https://github.com/ccrisan/motioneye/wiki/precompiled/ffmpeg_3.1.1-1_armhf.deb
dpkg -i ffmpeg_3.1.1-1_armhf.deb
curl -LO ...
dpkg -i piriscope-0.0.1-1_armhf.deb

As a Docker Container

Install Docker and run the container.

curl -sSL https://get.docker.com | sh
docker run -d --privileged --restart always -v /dev/video0:/dev/video0 schmich/piriscope:1.0.0 -k <key>

As a Standalone Program

apt-get install x264 v4l-utils
sudo modprobe bcm2835-v4l2
echo bcm2835-v4l2 | sudo tee -a /etc/modules
curl -LO https://github.com/ccrisan/motioneye/wiki/precompiled/ffmpeg_3.1.1-1_armhf.deb
dpkg -i ffmpeg_3.1.1-1_armhf.deb
curl -LO ...
piriscope -k ...

License

Copyright © 2017 Chris Schmich
MIT License. See LICENSE for details.

piriscope's People

Contributors

schmich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

piriscope's Issues

README points

  • Link to https://www.periscope.tv/ in headline
  • Links to RPi hardware (buy RPi, RPi camera, camera cable, ...)
  • Periscope/Pi logo
  • Periscope Producer (link to page)
  • Focus on RPi Zero W
  • WiFi setup
  • SSH setup
  • RPi image
  • Scripts for self-setup
  • Performance, no transcoding
  • Camera rig, hardware used
  • How to get necessary data from Periscope (stream name/key, links)
  • Debugging, troubleshooting issues
    • grep -i piriscope /var/logs/syslog
    • raspistill with command-line example
    • raspivid with command-line example
    • Periscope connection issues, stream key
  • Pictures of example setup & stream
  • "From scratch" instructions

Read settings from configuration file

  • JSON, YAML? Comments?
  • /etc/piriscope.conf
  • Update init.d script: piriscope -c /etc/piriscope.conf
  • Still also support command-line configuration (e.g. piriscope -k xxxxxxxx)

Audio capture

  • Explore capturing and streaming audio along with video
  • What RPi hardware is needed for this?

Add RPi ARM Docker image

  • Piriscope can also run as a Docker image
  • Built on top of Alpine ARM or Raspbian? (can use dpkg if Raspbian)
  • e.g. docker run --restart always -d schmich/piriscope
  • Easy way to bundle dependencies? (ffmpeg, x264, ...)

Change logging based on TTY

  • Full/verbose logging if interactive (e.g. running from command-line)
  • Minimal/periodic logging if non-interactive (e.g. running as service, logging to syslog)

Support other video settings

v4l2-ctl --set-ctrl=...

                     brightness (int)    : min=0 max=100 step=1 default=50 value=50 flags=slider
                       contrast (int)    : min=-100 max=100 step=1 default=0 value=0 flags=slider
                     saturation (int)    : min=-100 max=100 step=1 default=0 value=0 flags=slider
                    red_balance (int)    : min=1 max=7999 step=1 default=1000 value=1000 flags=slider
                   blue_balance (int)    : min=1 max=7999 step=1 default=1000 value=1000 flags=slider
                horizontal_flip (bool)   : default=0 value=0
                  vertical_flip (bool)   : default=0 value=0
           power_line_frequency (menu)   : min=0 max=3 default=1 value=1
                      sharpness (int)    : min=-100 max=100 step=1 default=0 value=30 flags=slider
                  color_effects (menu)   : min=0 max=15 default=0 value=0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.