/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install ffmpeg --with-x265
HTTP Live Streaming tools from https://developer.apple.com/streaming/ or https://www.dropbox.com/s/y48h70xk0nnt1vm/HTTPLiveStreamingTools368.dmg?dl=1
Encoding list from https://developer.apple.com/streaming/examples/
(curl -fsSL -o in.sh https://gist.githubusercontent.com/JohnCoates/e55b3b064ae82935b8d96828e94333b7/raw/encodingFunctions.sh) && source in.sh && rm in.sh
INPUT_FILE=/path/to/input
createStandardEncodes "$INPUT_FILE"
If you'd like to choose your encodings the argument list is: (input file) (maximum width) (bitrate in Kbps) (audio bitrate in Kbps) (video codec: 265 or 264) Below are the commands that createStandardEncodes runs
captureEncodes
encodeAtBitrate "$INPUT_FILE" 1920 5800 192 265
encodeAtBitrate "$INPUT_FILE" 1920 4500 160 265
encodeAtBitrate "$INPUT_FILE" 1920 3200 128 265
encodeAtBitrate "$INPUT_FILE" 1280 2400 128 265
encodeAtBitrate "$INPUT_FILE" 960 1700 128 265
encodeAtBitrate "$INPUT_FILE" 768 990 128 265
encodeAtBitrate "$INPUT_FILE" 640 660 128 265
encodeAtBitrate "$INPUT_FILE" 480 350 128 265
encodeAtBitrate "$INPUT_FILE" 416 145 128 265
encodeAtBitrate "$INPUT_FILE" 1920 7800 128 264
encodeAtBitrate "$INPUT_FILE" 1920 6000 128 264
encodeAtBitrate "$INPUT_FILE" 1920 4500 128 264
encodeAtBitrate "$INPUT_FILE" 1280 3000 128 264
encodeAtBitrate "$INPUT_FILE" 960 2000 128 264
encodeAtBitrate "$INPUT_FILE" 768 1100 128 264
encodeAtBitrate "$INPUT_FILE" 640 730 128 264
encodeAtBitrate "$INPUT_FILE" 480 730 128 264
encodeAtBitrate "$INPUT_FILE" 416 730 128 264
createMasterPlaylist
brew install python@2
pip install python-dateutil
mediastreamvalidator master.m3u8
python2 /usr/local/bin/hlsreport.py validation_data.json
open validation_data.html
Download Docker for macOS from: https://store.docker.com/editions/community/docker-ce-desktop-mac
Run the following command to serve the files:
docker run --name serveHLS -v $PWD:/usr/share/nginx/html:ro -p 9099:80 -d nginx
Load this URL in Quicktime: http://localhost:9099/master.m3u8