1.1.22 • Published 3 years ago

rtsp-samsung-tv v1.1.22

Weekly downloads
64
License
Apache-2.0
Repository
github
Last release
3 years ago

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 npm.io npm.io

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" npm.io
  5. "Extension SDK" install "extras" npm.io
  6. open "Tizen Studio"
  7. File -> Open Project From File System npm.io
  8. open rtsp-samsung-tv/CameraDevicenpm.io
  9. Enable Development mode on your TV
  10. open Device manager npm.io
  11. click "Scan device" npm.io
  12. set Connection to "On"
  13. right click on your connection and select "Permit install" npm.io
  1. in Tizen studio select project and run it on TV.Channel npm.io npm.io
  2. setup server ip and port on TV. npm.io

Admin UI

Url: http:\\<SERVER_IP>:3004

  • Default Login: admin
  • Password: admin npm.io

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: npm.io npm.io camera1.png

Add 4 cameras on one screen: npm.io npm.io camera4.png

delete Camera npm.io

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. npm.io
  2. increase the GPU memory?
  • sudo raspi-config
  • 7 Advanced Options npm.io
  • A3 Memory Split npm.io
  • set value 256 or more npm.io

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

npm.io

Generate Samsung Certificate

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

Individual DUID

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

1.1.22

3 years ago

1.1.21

3 years ago

1.1.20

3 years ago

1.1.19

3 years ago

1.1.18

3 years ago

1.1.17

3 years ago

1.1.16

3 years ago

1.1.15

3 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.12

4 years ago

1.1.11

4 years ago

1.1.10

4 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.1

4 years ago

1.1.2

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago