Giter Site home page Giter Site logo

tastyep / pi-opencast Goto Github PK

View Code? Open in Web Editor NEW
43.0 2.0 2.0 42.69 MB

:tv: Transform your Raspberry Pi into an awesome streaming device.

License: MIT License

CSS 0.24% JavaScript 31.32% HTML 1.33% Shell 4.06% Python 63.06%
raspberry-pi raspberrypi cast chromecast youtube playlist media-player media-server

pi-opencast's Introduction

Banner


OpenCast

Test status for master branch codecov.io status for master branch Sanitizing status for master branch OpenCast generated documentation

OpenCast is a home theater application whose goal is to transform a computer as small as a Raspberry Pi into an awesome streaming device.

Key Features

  • Lightweight fast media server, able to run on raspberry-pi.
  • Tons of supported sites.
  • Stream support (Youtube, Twitch ...)
  • Playlist support
  • Local library.
  • VLC under the hood.

How To

Install

$ git clone https://github.com/Tastyep/Pi-OpenCast.git
$ cd Pi-OpenCast && ./setup.sh

⚠️ Because the web application has grown in size over time, it is possible that building on a raspberry-pi with <= 1giga of RAM will fail as it will run out of memory. In that case, you will have to build it manually on your computer by running the following command:

$ ./OpenCast.sh build webapp

Then transfer the generated ./webapp/build directory into the webapp directory on your raspberry-pi (filezilla is your friend).

Use

After successfully installing OpenCast, you should note the IP address of your raspberry-pi:

$ hostname -I

You can then access the webpage from any device on the same local network at <ip-addr>:8081

Monitor

OpenCast is managed as a systemd service and loaded automatically at startup time. To interact with the service, two options are available:

  • Using systemctl (recommended)
$ systemctl --user [start|stop|restart|status] opencast
  • Using the shell entry-point (advanced):
$ ./OpenCast.sh service [start|stop|restart|status]

Logs can be accessed running:

$ journalctl --user -u opencast
$ ./OpenCast.sh service back log

Configure

The backend and the web application can be configured through their configuration file:

  • Backend: config.yml
  • Webapp: webapp/.env

Source Code

The project is hosted on Github.

Please feel free to file an issue on the bug tracker if you have found a bug or have suggestions to improve OpenCast.

License

OpenCast is distributed under the MIT License.

pi-opencast's People

Contributors

adityang avatar ahmad-masood avatar butchhoward avatar dependabot-preview[bot] avatar dependabot[bot] avatar fasthall avatar jarondl avatar javidbu avatar johny-c avatar loiclw avatar mheine avatar tastyep avatar vincelwt avatar wolvan avatar

Stargazers

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

Watchers

 avatar  avatar

pi-opencast's Issues

I can't install because of some packages are updated.

Hello developer.

I can't install because of some packages are updated.
My installation is canceled by npm error.
This is log:

>> Checking system dependencies...
✓ curl
✓ lsof
✓ python
✓ python3
✓ pip3
✓ npm
✓ node
✓ ffmpeg
✓ vlc
>> Installing project dependencies...
Retrieving Poetry metadata

The latest version (1.1.14) is already installed.
Installing dependencies from lock file

No dependencies to install or update
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '>=14.0.0' },
npm WARN EBADENGINE   current: { node: 'v12.22.5', npm: '7.5.2' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '>=14' },
npm WARN EBADENGINE   current: { node: 'v12.22.5', npm: '7.5.2' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '>=14' },
npm WARN EBADENGINE   current: { node: 'v12.22.5', npm: '7.5.2' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '>=14.0.0' },
npm WARN EBADENGINE   current: { node: 'v12.22.5', npm: '7.5.2' }
npm WARN EBADENGINE }
npm WARN deprecated [email protected]: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated [email protected]: This SVGO version is no longer supported. Upgrade to v2.x.x.

added 1503 packages, and audited 1717 packages in 6m

185 packages are looking for funding
  run `npm fund` for details

13 vulnerabilities (1 moderate, 10 high, 2 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
>> Creating a production build of the webapp...
/home/$USER/Pi-OpenCast/tool/build.sh: 行 11: /home/$USER/Pi-OpenCast/config.yml: そのようなファイルやディレクトリはありません

> [email protected] build
> react-scripts build

Creating an optimized production build...
Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
^C

My English is poor. and I can't explain details. Sorry.

Player crashes on last track

Last track not repeated

The video index is out of range

Expected behavior

The last track should play

Environment

  • OpenCast version: 1.4.5

Link to OpenCast logs

Traceback (most recent call last):
  File "_ctypes/callbacks.c", line 232, in 'calling callback function'
  File "/home/pi/.cache/pypoetry/virtualenvs/opencast-f3rfB-Bx-py3.7/lib/python3.7/site-packages/vlc.py", line 1821, in _callback_handler
    call(event.contents, *args, **kwds)
  File "/home/pi/Test/Pi-OpenCast/OpenCast/infra/media/player_wrapper.py", line 77, in _on_media_end
    self._evt_dispatcher.dispatch(evt)
  File "/home/pi/Test/Pi-OpenCast/OpenCast/domain/event/dispatcher.py", line 73, in dispatch
    handler(evt)
  File "/home/pi/Test/Pi-OpenCast/OpenCast/domain/event/dispatcher.py", line 20, in __call__
    self._evtcls_handler[type(evt)](evt, *args)
  File "/home/pi/Test/Pi-OpenCast/OpenCast/app/controller/player.py", line 30, in _media_end_reached
    player.queue, player.video_id, settings["player.loop_last"]
  File "/home/pi/Test/Pi-OpenCast/OpenCast/domain/service/player.py", line 73, in next_video
    and videos[video_idx].collection_id is not None
IndexError: list index out of range

setup.sh error

Hello,

I tried installing OpenCast and upon starting setup.sh I get the error:
setup.sh: 7: setup.sh: bad substitution
I tried removing ,, from the 7th line I get another error
setup.sh: 11: setup.sh: Syntax error: "(" unexpected

Is this supposed to be run with sudo sh setup.sh or something else?
If I ran it correctly, how can I fix the error?

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.