diff --git a/README.md b/README.md index ca01c20..e4ce733 100644 --- a/README.md +++ b/README.md @@ -8,27 +8,27 @@ Display RTSP streams from IP Cameras on Samsung smart TV (Tizen TV) [Donate](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 @@ -39,62 +39,62 @@ sudo pm2 save ``` open ```http:\\: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:\\: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:\\: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 -i rtsp://stream ``` -## 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 -i rtsp://stream ``` + +## **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", @@ -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 @@ -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 @@ -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)!