Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
vzakharchenko authored Dec 14, 2020
1 parent 6f2bfec commit a68750b
Showing 1 changed file with 86 additions and 86 deletions.
172 changes: 86 additions & 86 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,27 @@ Display RTSP streams from IP Cameras on Samsung smart TV (Tizen TV)
[<span style="font-family:Verdana,Arial,sans-serif!important;font-weight:bold!important;font-size:14px!important;color:#2094de!important;line-height:18px!important;vertical-align:middle!important;">Donate</span>](https://secure.wayforpay.com/button/bf5d6c136e034)

# Features
- support more than 999 RTSP streams.
- switch channels(rtsp stream) using numpad on the remote control
- use server to convert rtsp streams using ffmpeg
- [group rtsp streams on the obe channel (Display 4 cameras streams on one channel)](#add-4-cameras-on-one-screen---)
- support udp and tcp transport
- tizen samsung tv application
- [admin ui](#admin-ui)
- [protect admin ui(optional)](#protect-admin-ui-using-keycloak-sso-optional)
- [Voice Control](#voice-control)
- [Remote Control](#remote-control)
- Supports parameters before "-i" and after it
- [Raspberry Pi Hw acceleration](#raspberry-pi-hw-acceleration-on-ffmpeg-raspbian-lite-image)


![ipport.png](/img/ipport.png), ![camera1.png](/img/camera1.png), ![camera4.png](/img/camera4.png)

# Please [Donate](https://secure.wayforpay.com/button/bf5d6c136e034)
donations helps developing and maintans the project.
Please if you like our coding, donate me if you can, even small amount help me :)
Donation Link: (https://secure.wayforpay.com/button/bf5d6c136e034)[https://secure.wayforpay.com/button/bf5d6c136e034]
# Server Installation
- support more than 999 RTSP streams.
- switch channels(rtsp stream) using numpad on the remote control
- use server to convert rtsp streams using ffmpeg
- [group rtsp streams on the obe channel (Display 4 cameras streams on one channel)](#add-4-cameras-on-one-screen---)
- support udp and tcp transport
- tizen samsung tv application
- [admin ui](#admin-ui)
- [protect admin ui(optional)](#protect-admin-ui-using-keycloak-sso-optional)
- [Voice Control](#voice-control)
- [Remote Control](#remote-control)
- Supports parameters before "-i" and after it
- [Raspberry Pi Hw acceleration](#raspberry-pi-hw-acceleration-on-ffmpeg-raspbian-lite-image)


![ipport.png](/img/ipport.png), ![camera1.png](/img/camera1.png), ![camera4.png](/img/camera4.png)

# Please [Donate](https://secure.wayforpay.com/button/bf5d6c136e034)
Donations helps developing and maintain the project.
Donation Link: (https://secure.wayforpay.com/button/bf5d6c136e034)[https://secure.wayforpay.com/button/bf5d6c136e034]

# Server Installation
```bash
sudo apt-get install ffmpeg
wget -qO- https://getpm2.com/install.sh | bash
Expand All @@ -39,62 +39,62 @@ sudo pm2 save
```
open ```http:\\<SERVER_IP>:3004``` and add a new Camera and click Save ![](img/addnewCamera.png) ![](img/addedNewDevice.png)

# 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](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" ![](img/TizenSDK.png)
5. "Extension SDK" install "extras" ![](img/InstallAll.png)
6. open "Tizen Studio"
7. File -> Open Project From File System ![](img/FileImport.png)
8. open rtsp-samsung-tv/CameraDevice![](img/importProject.png)
9. [Enable Development mode on your TV](https://developer.samsung.com/smarttv/develop/getting-started/using-sdk/tv-device.html)
10. open Device manager ![](img/deviceManager.png)
11. click "Scan device" ![](img/deviceManager2.png)
12. set Connection to "On"
13. right click on your connection and select "Permit install" ![](img/deviceManager3.png)
- If you see NO DUID For Selected Device
![](img/NoDUIDMessage.png)
then you need to [generate certificate](#generate-samsung-certificate) for your TV
14. in Tizen studio select project and run it on TV.Channel ![](img/SelectDevice.jpeg) ![](img/RunAsTizenWeb.png)
15. setup server ip and port on TV. ![](/img/ipport.png)
# 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](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" ![](img/TizenSDK.png)
5. "Extension SDK" install "extras" ![](img/InstallAll.png)
6. open "Tizen Studio"
7. File -> Open Project From File System ![](img/FileImport.png)
8. open rtsp-samsung-tv/CameraDevice![](img/importProject.png)
9. [Enable Development mode on your TV](https://developer.samsung.com/smarttv/develop/getting-started/using-sdk/tv-device.html)
10. open Device manager ![](img/deviceManager.png)
11. click "Scan device" ![](img/deviceManager2.png)
12. set Connection to "On"
13. right click on your connection and select "Permit install" ![](img/deviceManager3.png)
- If you see NO DUID For Selected Device
![](img/NoDUIDMessage.png)
then you need to [generate certificate](#generate-samsung-certificate) for your TV
14. in Tizen studio select project and run it on TV.Channel ![](img/SelectDevice.jpeg) ![](img/RunAsTizenWeb.png)
15. setup server ip and port on TV. ![](/img/ipport.png)


# Admin UI
## **Url**: ```http:\\<SERVER_IP>:3004```
![](/img/AdminUi.png)

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
## **Url**: ```http:\\<SERVER_IP>:3004```
![](/img/AdminUi.png)

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
## 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**: ![](img/addnewCamera.png) ![](img/addedNewDevice.png) ![camera1.png](/img/camera1.png)
## **Add 4 cameras on one screen**: ![](img/add4Cameras.png) ![](img/added4Cameras.png) ![camera4.png](/img/camera4.png)
## **delete Camera** ![](img/deleteCamera.png)

## **add 1 Camera**: ![](img/addnewCamera.png) ![](img/addedNewDevice.png) ![camera1.png](/img/camera1.png)
## **Add 4 cameras on one screen**: ![](img/add4Cameras.png) ![](img/added4Cameras.png) ![camera4.png](/img/camera4.png)
## **delete Camera** ![](img/deleteCamera.png)
# Protect Admin UI using keycloak SSO (Optional)
1. download keycloak.json from the keycloak admin ui.
2. save keycloak.json to [./config/keycloak.json](/config) or /opt/config

# Protect Admin UI using keycloak SSO (Optional)
1. download keycloak.json from the keycloak admin ui.
2. save keycloak.json to [./config/keycloak.json](/config) or /opt/config

example of keycloak.json
example of keycloak.json
```json
{
"realm": "RTSP",
Expand All @@ -106,9 +106,9 @@ example of keycloak.json
},
"confidential-port": 0
}
```
# Raspberry Pi Hw acceleration on ffmpeg ([Raspbian Lite Image](https://www.raspberrypi.org/downloads/raspberry-pi-os/))
1. build ffmpeg with mmal feature
```
# Raspberry Pi Hw acceleration on ffmpeg ([Raspbian Lite Image](https://www.raspberrypi.org/downloads/raspberry-pi-os/))
1. build ffmpeg with mmal feature
```bash
sudo apt-get install libomxil-bellagio-dev
sudo apt-get install libomxil-bellagio-bin
Expand All @@ -118,27 +118,27 @@ 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
```
2. ![](/img/RaspberryPiHW.png)
3. increase the GPU memory?
```
2. ![](/img/RaspberryPiHW.png)
3. increase the GPU memory?
- ```bash
sudo raspi-config
```
- **7 Advanced Options** ![](/img/raspberry1.png)
- **A3 Memory Split** ![](/img/raspberry2.png)
- set value **256** or more ![](/img/raspberry3.png)

# 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"
- **7 Advanced Options** ![](/img/raspberry1.png)
- **A3 Memory Split** ![](/img/raspberry2.png)
- set value **256** or more ![](/img/raspberry3.png)

# 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

![](/img/RemoteControl.png)
![](/img/RemoteControl.png)

# Generate Samsung Certificate

Expand All @@ -150,11 +150,11 @@ sudo make install
5. Click Ok ![](img/GenerateCertificate7.png)
6. Login to Samsung Account ![](img/GenerateCertificate8.png)
7. Next ![](img/GenerateCertificate9.png)
8. Add [Individual DUID](#individual-duid) ![](img/GenerateCertificate10.png)
8. Add [Individual DUID](#individual-duid) ![](img/GenerateCertificate10.png)
9. Finish

# Individual DUID
On TV select "Settings"->"Support"->"About TV"-> Information About Smart Hub-> Unique Device Id ![](img/TV_DUID2.png)
On TV select "Settings"->"Support"->"About TV"-> Information About Smart Hub-> Unique Device Id ![](img/TV_DUID2.png)
# If you find these useful, please [Donate](https://secure.wayforpay.com/button/bf5d6c136e034)!
# If you find these useful, please [Donate](https://secure.wayforpay.com/button/bf5d6c136e034)!

0 comments on commit a68750b

Please sign in to comment.