https://github.com/dimitrovs/any_to_m3u8
A Python script to transcode any stream to M3U8 (which can play on iOS, Android, Roku, etc.)
https://github.com/dimitrovs/any_to_m3u8
Last synced: about 1 month ago
JSON representation
A Python script to transcode any stream to M3U8 (which can play on iOS, Android, Roku, etc.)
- Host: GitHub
- URL: https://github.com/dimitrovs/any_to_m3u8
- Owner: dimitrovs
- License: mit
- Created: 2015-06-14T02:51:41.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-06-19T20:18:55.000Z (over 9 years ago)
- Last Synced: 2024-10-22T22:22:08.079Z (4 months ago)
- Language: Python
- Size: 127 KB
- Stars: 8
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# any_to_m3u8
A Python script to transcode any stream to M3U8 (which can play on iOS, Android, Roku, etc.)Note: This is very experimental.
Requirements:
1) Latest FFMPEG (I suggest you download the Static build from here: http://johnvansickle.com/ffmpeg/)
2) Python 2.7+
This script works in the following way:
1) You make a request to: http://your_any_to_m3u8_server:port/http://any_server/any_video.any_format (i.e. you just append the video stream URL after your server's URL)
2) any_to_m3u8 intercepts these URLs and starts an FFMPEG process to convert your stream to M3U8
3) any_to_m3u8 redirects your player to the M3U8 file created by FFMPEG
4) Your player requests the .ts chunks
5) Periodically your player requests the original URL. any_to_m3u8 detects such duplicate requests and redirects them to the M3U8 file
6) If you request a new URL, any_to_m3u8 kills FFMPEG, cleans up and the process repeats from 1).
NOTE: This experimental version has TRANSCODING (eg. MPEG2 to H264 for example) DISABLED. However, it is trivial to enable (if you have the necessary CPU resources). Message me for instructions.