Giter Site home page Giter Site logo

moandcompany / rtsp-samsung-tv Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vzakharchenko/rtsp-samsung-tv

0.0 1.0 0.0 11.06 MB

Display RTSP streams from IP Cameras on Samsung Smart TV (Tizen TV)

License: Apache License 2.0

HTML 11.21% JavaScript 48.54% CSS 36.89% Dockerfile 2.24% Shell 1.11%

rtsp-samsung-tv's Introduction

rtsp-samsung-tv

Description

Display RTSP streams from IP Cameras on Samsung smart TV (Tizen TV)

npm version rtsp-samsung-tv CI rtsp-samsung-tv Docker amd64 arm64 armv7 donate

Features

ipport.png, camera1.png, camera4.png

Server Installation

sudo apt-get install ffmpeg
wget -qO- https://getpm2.com/install.sh | bash
sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u ${currentUser} --hp ${HOME}
sudo npm i rtsp-samsung-tv -g
sudo pm2 start `npm root -g`/rtsp-samsung-tv/server.js
sudo pm2 save

open http:\\<SERVER_IP>:3004 (Default Login: admin, Default Password: admin) and add a new Camera and click Save

Run Inside docker container

docker run -d --name=rtsp-samsung-tv  -p 3004:3004 --restart=always vassio/rtsp-samsung-tv:latest

Configuration on Host:

echo "{}" >/opt/channels.json
docker run -d --name=smartthings-phone-presence-sensor  -p 3004:3004 -v /opt/channels.json:/opt/config/channels.json --restart=always vassio/rtsp-samsung-tv:latest

Keycloak Protection

echo "{}" >/opt/channels.json
docker run -d --name=smartthings-phone-presence-sensor  -p 3004:3004 -v /opt/channels.json:/opt/config/channels.json -v  `pwd`/keycloak.json:/opt/config/keycloak.json --restart=always vassio/rtsp-samsung-tv:latest

Install Samsung TV Application(Tizen Application)

  1. install java jdk
  2. install Tizen SDK on your PC https://developer.tizen.org/development/tizen-studio/download
  3. download application source git clone https://github.com/vzakharchenko/rtsp-samsung-tv.git
  4. in "Tizen Studio Package manager" install "Tizen SDK Tools"
  5. "Extension SDK" install "extras"
  6. open "Tizen Studio"
  7. File -> Open Project From File System
  8. open rtsp-samsung-tv/CameraDevice
  9. Enable Development mode on your TV
  10. open Device manager
  11. click "Scan device"
  12. set Connection to "On"
  13. right click on your connection and select "Permit install"
  1. in Tizen studio select project and run it on TV.Channel
  2. setup server ip and port on TV.

Admin UI

Url: http:\\<SERVER_IP>:3004

  • Default Login: admin
  • Password: admin

where:

  • File path to config file.
  • Default Transport Default RTSP Transport. Applicable to all cameras
  • Default RTSP FFmpeg parameters Parameters before "-i". Applicable to all cameras
  • Default Encode FFmpeg parameters Parameters before "-i". Applicable to all cameras
ffmpeg <Default RTSP FFmpeg parameters> -i rtsp://stream <Default Encode FFmpeg parameters>

Camera Specific Columns:

  • Status now on TV.
  • Camera channel number.
  • Camera Mode "1 Camera" : one camera on screen, "4 Cameras" : 4 cameras on one screen.
  • rtsp Streams rtsp streams.
  • Transport Camera RTSP Transport.
  • RTSP FFmpeg parameters Parameters before "-i". Applicable to all cameras
  • Encode FFmpeg parameters Parameters after "-i". Applicable to all cameras
ffmpeg <RTSP FFmpeg parameters> -i rtsp://stream <Encode FFmpeg parameters>

add 1 Camera: camera1.png

Add 4 cameras on one screen: camera4.png

delete Camera

Protect Admin UI using Default Authentication

Default user: admin/admin

Protect Admin UI using keycloak SSO (Optional)

  1. download keycloak.json from the keycloak admin ui.
  2. save keycloak.json to ./config/keycloak.json or /opt/config

example of keycloak.json

{
  "realm": "RTSP",
  "auth-server-url": "https://localhost:8090/auth",
  "ssl-required": "external",
  "resource": "testClient",
  "credentials": {
    "secret": "secret"
  },
  "confidential-port": 0
}

Raspberry Pi Hw acceleration on ffmpeg (Raspbian Lite Image)

  1. build ffmpeg with mmal feature
sudo apt-get install libomxil-bellagio-dev
sudo apt-get install libomxil-bellagio-bin
git clone https://github.com/FFmpeg/FFmpeg
cd FFmpeg
git checkout origin/release/3.2
sudo ./configure --arch=armel --target-os=linux --enable-gpl --enable-mmal  --enable-omx --enable-omx-rpi --enable-nonfree
sudo make -j4
sudo make install
  1. increase the GPU memory?
  • sudo raspi-config
  • 7 Advanced Options
  • A3 Memory Split
  • set value 256 or more

Voice Control

1. Press VOICE button
2. Say command

List of commands: "Channel Up" (or the same on your language) "Channel Down" (or the same on your language) "1","2","3","4" ... "999"

Remote Control

Generate Samsung Certificate

  1. Open "Certificate Manager"
  2. Add a new Samsung Certificate
  3. Select DeviceType "TV"
  4. Click Next
  5. Type any name and password
  6. Click Ok
  7. Login to Samsung Account
  8. Next
  9. Add Individual DUID
  10. Finish

Individual DUID

On TV select "Settings"->"Support"->"About TV"-> Information About Smart Hub-> Unique Device Id

rtsp-samsung-tv's People

Contributors

dependabot[bot] avatar vzakharchenko avatar

Watchers

 avatar

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.