Display RTSP streams from IP Cameras on Samsung smart TV (Tizen TV)
- support more than 999 RTSP streams.
- switch channels(rtsp stream) using numpad on the remote control
- Run Inside docker container
- use server to convert rtsp streams using ffmpeg
- group rtsp streams on the obe channel (Display 4 cameras streams on one channel)
- support udp and tcp transport
- tizen samsung tv application
- admin ui
- protect admin ui(optional)
- Voice Control
- Remote Control
- Supports parameters before "-i" and after it
- Raspberry Pi Hw acceleration
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
docker run -d --name=rtsp-samsung-tv -p 3004:3004 -p 9999-10004:9999-10004 --restart=always vassio/rtsp-samsung-tv:latest
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
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 java jdk
- install Tizen SDK on your PC https://developer.tizen.org/development/tizen-studio/download
- download application source
git clone https://github.com/vzakharchenko/rtsp-samsung-tv.git
- in "Tizen Studio Package manager" install "Tizen SDK Tools"
- "Extension SDK" install "extras"
- open "Tizen Studio"
- File -> Open Project From File System
- open rtsp-samsung-tv/CameraDevice
- Enable Development mode on your TV
- open Device manager
- click "Scan device"
- set Connection to "On"
- right click on your connection and select "Permit install"
- If you see NO DUID For Selected Device then you need to generate certificate for your TV
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>
- 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>
Default user: admin/admin
- download keycloak.json from the keycloak admin ui.
- 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)
- 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. 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"
- Open "Certificate Manager"
- Add a new Samsung Certificate
- Select DeviceType "TV"
- Click Next
- Type any name and password
- Click Ok
- ⚠ If the samsung account login page does not appear then please reboot your computer.
- Login to Samsung Account
- Next
- Add Individual DUID
- Finish
On TV select "Settings"->"Support"->"About TV"-> Information About Smart Hub-> Unique Device Id