All Projects → vzakharchenko → rtsp-samsung-tv

vzakharchenko / rtsp-samsung-tv

Licence: Apache-2.0 License
Display RTSP streams from IP Cameras on Samsung Smart TV (Tizen TV)

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to rtsp-samsung-tv

ha-samsungtv-smart
📺 Home Assistant SamsungTV Smart Component with simplified SmartThings API Support configurable from User Interface.
Stars: ✭ 240 (+500%)
Mutual labels:  samsung, samsung-tv, samsung-smart-tv
KeenASR-Android-PoC
A proof-of-concept app using KeenASR SDK on Android. WE ARE HIRING: https://keenresearch.com/careers.html
Stars: ✭ 21 (-47.5%)
Mutual labels:  voice-commands, voice-control
DcRat
A simple remote tool in C#.
Stars: ✭ 709 (+1672.5%)
Mutual labels:  control, remote-control
tizen-studio-arch
How to install TizenStudio on Arch Linux
Stars: ✭ 31 (-22.5%)
Mutual labels:  tizen-studio, tizen
homebridge-samsung-tizen-applications
Database of homebridge tizen-apps ids. All in one place!
Stars: ✭ 16 (-60%)
Mutual labels:  samsung, tizen-tv
react-tv-navigation
React Navigation for TVs
Stars: ✭ 64 (+60%)
Mutual labels:  tizen, samsung
awesome-rhasspy
Carefully curated list of projects and resources for the voice assistant Rhasspy
Stars: ✭ 50 (+25%)
Mutual labels:  voice-commands, voice-control
GStreamer-Python
Fetch RTSP Stream using GStreamer in Python and get image in Numpy
Stars: ✭ 81 (+102.5%)
Mutual labels:  rtsp, rtsp-stream
rtsp-relay
📽 View an RTSP stream in your web browser using an express.js server
Stars: ✭ 153 (+282.5%)
Mutual labels:  rtsp, rtsp-stream
node-rtsp-recorder
Records and saves RTSP Video Streams
Stars: ✭ 50 (+25%)
Mutual labels:  rtsp, rtsp-stream
camera-live-streaming
Camera Live Streaming with Flask and Open-CV
Stars: ✭ 69 (+72.5%)
Mutual labels:  rtsp, rtsp-stream
VoiceNET.Library
.NET library to easily create Voice Command Control feature.
Stars: ✭ 14 (-65%)
Mutual labels:  voice-commands, voice-control
Vanillarat
VanillaRat is an advanced remote administration tool completely coded in C# for Windows.
Stars: ✭ 192 (+380%)
Mutual labels:  control, remote-control
react-native-spokestack
Spokestack: give your React Native app a voice interface!
Stars: ✭ 53 (+32.5%)
Mutual labels:  voice-commands, voice-control
Ws Scrcpy
Web client prototype for scrcpy.
Stars: ✭ 164 (+310%)
Mutual labels:  control, remote-control
Spotcommander
The most intuitive and feature-rich remote control for Spotify for Linux
Stars: ✭ 152 (+280%)
Mutual labels:  control, remote-control
Irext
Universal IR Remote Control Solution
Stars: ✭ 1,240 (+3000%)
Mutual labels:  control, remote-control
Rat Hodin V2.9
Remote Administration Tool for Linux
Stars: ✭ 97 (+142.5%)
Mutual labels:  control, remote-control
voice gender detection
♂️♀️ Detect a person's gender from a voice file (90.7% +/- 1.3% accuracy).
Stars: ✭ 51 (+27.5%)
Mutual labels:  voice-commands, voice-control
smart rtmpd
RTMP server, smart, compact, high performance(c, c++), high concurrency, easy to maintain, easy to deploy, (supports multiple operating systems Windows and Linux, ARM, FreeBSD)
Stars: ✭ 159 (+297.5%)
Mutual labels:  rtsp, ffmpeg

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

Features

ipport.png, camera1.png, camera4.png

Server Installation

wget -qO-  https://deb.nodesource.com/setup_14.x | bash
sudo apt-get install ffmpeg
npm i pm2 -g
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 -p 9999-10004:9999-10004  --restart=always vassio/rtsp-samsung-tv:latest

Configuration on Host:

echo "{}" >/opt/channels.json
docker run -d --name=rtsp-samsung-tv  -p 3004:3004 -p 9999-10004:9999-10004  -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=rtsp-samsung-tv  -p 3004:3004 -p 9999-10004:9999-10004  -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
  • If the samsung account login page does not appear then please reboot your computer.
  1. Login to Samsung Account
  2. Next
  3. Add Individual DUID
  4. Finish

Individual DUID

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].