Your personal video streaming platform using LAN socket connections and RTSP streaming through UDP.
1. Bhanu Pratap Singh : https://github.com/BhallalDev22
2. Aritra Chatterjee : https://github.com/Arc29
-
Consists of a central always-on server running on port 5000 of server. Server includes socket endpoints for an SQL database used in Starkhub. For more details check the server's dedicated repo at: https://github.com/BhallalDev22/StarkHub_P2PManager
-
Individual nodes connect to central server to get information of other connected nodes and access their hosted videos (All videos are shared peer-to-peer)
-
Trending videos are set on basis of most viewed videos in current hour
-
User can create his/her own channels and upload videos to them
-
User can manage his all channels and videos and can view their statistics
-
User can like/dislike videos, Add videos to Watch Later, Write/Remove comments and subscribe/unsubscribe to channels
-
Users also have access to their Watch history, Comment History and Liked Videos
-
User gets Notification when their is any activity in his subscribed channels
-
Videos are shared through RTSP(Real Time Streaming Protocol) and RTP(Real-time Transport Protocol). The server node(serving the video) and the client node establish an RTSP socket to communicate control signals, while audio and video frames are sent through RTP (which is implemented using UDP socket). Basic workflow:
(Congestion Control is not used in our project due to its limited use in local environments)
-
Audio and video frames are extracted using FFMPEGFrameGrabber class of JavaCV (Java wrapper of OpenCV). Repo at: https://github.com/bytedeco/javacv
-
Beautiful Material Design created using JFoenix (https://github.com/jfoenixadmin/JFoenix)