Video Streaming Platform on Web iOS and tvOS
デベロッパー
公開チャット
製品詳細
Source Code Product Description
Are you looking for a comprehensive video streaming solution? Look no further! We are excited to offer you a complete video platform designed for web, iOS, and tvOS.
Value Proposition
Our source code product provides a robust backend built with Django, offering a RESTful API for seamless data handling and integration. With features like Elastic Search Engine for sophisticated searching, AWS S3 buckets for HLS video streaming, and content processing scripts, our product ensures a high-performance video streaming experience across multiple platforms.
Features
- Django REST API server for backend
- Web Client App developed using Typescript and Angular
- iOS Client App written in Swift with SwiftUI
- tvOS Client App optimized for Apple TV
- Content Processing Scripts for video conversion
- Docker-Compose files for Development and Deployment
- HTML5 Video Player for Web Client
- AVPlayerViewController for iOS / tvOS Client
Requirements
- Python
- Docker
- FFmpeg
- AWS account and CLI installed
- TMDB API Key
Video Process
The source videos can be in various formats supported by FFmpeg. The database in the Django RESTful API server is generated by querying video metadata from the TMDB database. Python scripts are available for converting videos to HLS format and uploading them to AWS S3 buckets.
Django RESTful API Endpoints
- /api/categories/ - Get a list of categories
- /api/category/
/ - Get programs by category - /api/program-detail/
/ - Get details of a program
Admin Page
Manage video contents on the server using the Admin page. Commands are available for database generation, superuser creation, API key generation, and more.
Web Page
The web page, written in Typescript with Angular, features a category list, movie grid, search bar, and HTML5 video player for an interactive user experience.
iOS / tvOS App
The iOS and tvOS apps, written in Swift with SwiftUI, offer similar features as the web page, including category navigation, movie details, search functionality, and AVKit AVPlayerViewController for video playback.
Conclusion
With our source code product, you can build a powerful video streaming platform with advanced features and seamless integration across web, iOS, and tvOS. Get started today and revolutionize your video streaming experience!
* Using Elastic Search Engine for sophisticated searching
* Content Processing Scripts
* Docker-Compse files for Development and Deployment
* HTML5 Video Player for Web Client
* AVPlayerViewController for iOS / tvOS Client
ファイルツリー
-
📁 Video Streaming Platform on Web iOS and tvOS
インストール手順
2. Copy the generated movies.csv file from last step in the output folder
cp ../../data/output/movies.csv ./nighce-api/data/
3. Create .env file with following key-value pairs in folder ./nighce-api/
DJANGO_DEBUG=0
DJANGO_SECRET_KEY=
DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1
TMDB_API_KEY=
ELASTIC_SEARCH_URL=http://elasticsearch:9200/
4. Start the server in folder nighce-server
docker-compose -f docker-compose.local.yml up --build -d
5. Create superuser
docker-compose -f docker-compose.local.yml run api python manage.py createsuperuser
6. Generate the movies database with the movies.csv generated in the video contents process
docker-compose -f docker-compose.local.yml run api python manage.py generate_database 'data/movies.csv'
7. Generate the Elastic Search Index
docker-compose -f docker-compose.local.yml run api python manage.py rebuild_index --noinput
変更と適応の手順
Prepare your video content
Create a work/data folder and copy your videos into the work/data/input
make sure you have the AWS cli setup and configured
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export AWS_REGION=us-west-1
make sure you have ffmpeg installed
use the provided script to convert your movies into HLS format
cd work/source/nighce-server/nighce-media
python3 -m venv env
pip install -r requirements.txt
python process-movies.py --input ../../../data/input/ --output ../../../data/output --extension avi
Upload the HLS videos to AWS S3 bucket
python upload-s3.py test-media-io --region us-west-1 --input ../../../data/output
Change the tile and style of Webpage
Open the Angular project in the nighce-web folder
1. Update the favicon files with your own version
2. Update the logo svg file with your own version
3. Update the title and meta data in the index.html file
4. Update the color settings in the style.css file
There are color settings variables in the style.css file
Change the style and icons of the iOS / tvOS app
Open the Xcode project in the nighce-apple folder
1. Replace app icons with your own version
2. Change the colors setting in the Assets/Colors. There are several colors can be changes