From 0118ee46affa88c3e9814d1f104966afc9f87ce2 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Thu, 16 Feb 2023 08:15:33 -0800 Subject: [PATCH] whee --- make-hls-new.sh | 50 +++---- new.html | 343 +++++++++++++++++++----------------------------- new.m3u8 | 10 ++ 3 files changed, 174 insertions(+), 229 deletions(-) create mode 100644 new.m3u8 diff --git a/make-hls-new.sh b/make-hls-new.sh index aa8c576..25804e1 100755 --- a/make-hls-new.sh +++ b/make-hls-new.sh @@ -1,40 +1,44 @@ MOVFLAGS="-movflags +frag_keyframe+empty_moov+default_base_moof+faststart" HLSFLAGS="-hls_time 10 -hls_list_size 0 -hls_segment_type fmp4 -hls_flags single_file -hls_playlist_type vod" -BITRATE_HI="-b:v 3840k" -BITRATE_LO="-b:v 2560k" +TSFLAGS="-hls_time 10 -hls_list_size 0 -hls_segment_type mpegts -hls_flags single_file -hls_playlist_type vod" +BITRATE_HI="-b:v 1250k" +BITRATE_LO="-b:v 1000k" -VIDEO_H264="-vcodec h264 $BITRATE_HI" -VIDEO_JPEG="-vcodec mjpeg $BITRATE_HI" -VIDEO_VP8="-vcodec libvpx -cpu-used 4 $BITRATE_HI" -VIDEO_VP9="-vcodec libvpx-vp9 -row-mt 1 -cpu-used 4 $BITRATE_LO" +SIZE_MAIN="-s 854x480" +SIZE_JPEG="-s 213x120" + +VIDEO_H264="-vcodec h264 -g 240 $BITRATE_HI $SIZE_MAIN" +VIDEO_JPEG="-vcodec mjpeg -g 240 $BITRATE_LO $SIZE_JPEG" +VIDEO_VP8="-vcodec libvpx -cpu-used 3 -g 240 $BITRATE_HI $SIZE_MAIN" +VIDEO_VP9="-vcodec libvpx-vp9 -row-mt 1 -cpu-used 3 -g 240 $BITRATE_LO $SIZE_MAIN" AUDIO_VORBIS="-acodec libvorbis -ac 2 -ar 44100 -vb 128k" AUDIO_OPUS="-acodec libopus -ac 2 -ar 48000 -vb 96k" AUDIO_AAC="-ac 2 -ar 44100 -vb 128k" AUDIO_MP3="-acodec libmp3lame -ac 2 -ar 44100 -vb 128k" -INFILE=polyphon.ogv +#INFILE=polyphon.ogv +INFILE=caminandes-llamigos.webm + +set -e # Flat WebM -ffmpeg -i $INFILE $VIDEO_VP8 $AUDIO_VORBIS -y new-vp8.webm || exit 1 -ffmpeg -i $INFILE $VIDEO_VP9 $AUDIO_OPUS -y new-vp9.webm || exit 1 +ffmpeg -i $INFILE $VIDEO_VP8 $AUDIO_VORBIS -y new-vp8.webm +ffmpeg -i $INFILE $VIDEO_VP9 $AUDIO_OPUS -y new-vp9.webm # Flat Quicktime -ffmpeg -i $INFILE -s 1280x720 -vcodec mpeg2video $BITRATE_HI $AUDIO_MP3 $MOVFLAGS -y new-mpeg2.mov || exit 1 -ffmpeg -i $INFILE -s 640x360 -vcodec mpeg1video $BITRATE_HI $AUDIO_MP3 $MOVFLAGS -y new-mpeg1.mov || exit 1 -ffmpeg -i $INFILE -s 320x180 -vcodec cinepak $BITRATE_HI $AUDIO_MP3 $MOVFLAGS -y new-cinepak.mov || exit 1 -#ffmpeg -i $INFILE -s 320x180 -vcodec rpza $BITRATE_HI $AUDIO_MP3 $MOVFLAGS -y new-rpza.mov || exit 1 -ffmpeg -i $INFILE -s 320x180 $VIDEO_JPEG $AUDIO_MP3 $MOVFLAGS -y new-mjpeg.mov || exit 1 - - -exit 0 +ffmpeg -i $INFILE -s 320x180 $VIDEO_JPEG $AUDIO_MP3 $MOVFLAGS -y new-mjpeg.mov # Audio for HLS -ffmpeg -i $INFILE -vn $AUDIO_AAC $HLSFLAGS -hls_segment_filename new-aac.mp4 -y new-aac.m3u8 || exit 1 -ffmpeg -i $INFILE -vn $AUDIO_OPUS $HLSFLAGS -hls_segment_filename new-opus.mp4 -y new-opus.m3u8 || exit 1 +ffmpeg -i $INFILE -vn $AUDIO_AAC $HLSFLAGS -hls_segment_filename new-aac.mp4 -y new-aac.m3u8 +ffmpeg -i $INFILE -vn $AUDIO_OPUS $HLSFLAGS -hls_segment_filename new-opus.mp4 -y new-opus.m3u8 + +ffmpeg -i $INFILE -vn $AUDIO_MP3 $HLSFLAGS -hls_segment_filename new-mp3.mp4 -y new-mp3-mp4.m3u8 +ffmpeg -i $INFILE -vn $AUDIO_MP3 $TSFLAGS -hls_segment_filename new-mp3.ts -y new-mp3-ts.m3u8 +ffmpeg -i $INFILE -vn $AUDIO_MP3 -f segment -segment_time 10 -segment_list new-mp3-raw.m3u8 -y new-mp3-%04d.mp3 # Video for HLS -ffmpeg -i $INFILE -an $VIDEO_VP9 $HLSFLAGS -hls_segment_filename new-vp9.mp4 -y new-vp9.m3u8 || exit 1 -ffmpeg -i $INFILE -an $VIDEO_JPEG $HLSFLAGS -hls_segment_filename new-jpeg.mp4 -y new-jpeg.m3u8 || exit 1 -ffmpeg -i $INFILE -an -vcodec mpeg2video $BITRATE_HI $HLSFLAGS -hls_segment_filename new-mpeg2.mp4 -y new-mpeg2.m3u8 || exit 1 -ffmpeg -i $INFILE -an -vcodec mpeg1video $BITRATE_HI $HLSFLAGS -hls_segment_filename new-mpeg1.mp4 -y new-mpeg1.m3u8 || exit 1 +ffmpeg -i $INFILE -an $VIDEO_VP9 $HLSFLAGS -hls_segment_filename new-vp9.mp4 -y new-vp9.m3u8 + +ffmpeg -i $INFILE -an $VIDEO_JPEG $HLSFLAGS -hls_segment_filename new-jpeg.mp4 -y new-jpeg.m3u8 +ffmpeg -i $INFILE -an $VIDEO_JPEG $TSFLAGS -hls_segment_filename new-jpeg.ts -y new-jpeg-ts.m3u8 diff --git a/new.html b/new.html index 3a1fba8..85f3362 100644 --- a/new.html +++ b/new.html @@ -1,207 +1,138 @@ - - - - - HLS VP9/fMP4 test - - - -

HLS WebM test

- -

Checking HLS support...

-

Checking MSE VP9 support...

-

Checking flat WebM VP8 / Vorbis support...

-

Checking WebAssembly support...

- -

Caminandes - Llamigos

- -

HLS with VP9-in-MP4 video with Opus-in-MP4 or AAC audio.

- - -

Flat WebM VP8/Vorbis

- - -

Flat Quicktime MJPEG/MP3

- - -

Flat Quicktime MPEG-2

- - -

Flat Quicktime MPEG-1

- - -

Flat Quicktime Cinepak

- - -

HLS MJPEG MP4 alone (no audio)

- - -

Flat MJPEG MP4 alone (no audio)

- - -

HLS MPEG-1 MP4 alone (no audio)

- - -

Flat MPEG-1 MP4 alone (no audio)

- - -

HLS MPEG-2 MP4 alone (no audio)

- - -

Flat MPEG-2 MP4 alone (no audio)

- - - - - - + + + + + HLS VP9/fMP4 test + + + +

HLS WebM test

+ +

Checking HLS support...

+

Checking MSE VP9 support...

+

Checking flat WebM VP8 / Vorbis support...

+

Checking WebAssembly support...

+ +

Caminandes - Llamigos

+ +

WebM VP9 and VP8 in front, MJPEG next, HLS with VP9-in-MP4 video with Opus-in-MP4 or AAC audio activated on JS.

+ + +

Sources

+ +

Flat WebM VP9/Opus

+ + +

Flat WebM VP8/Vorbis

+ + +

Flat Quicktime MJPEG/MP3

+ + +

HLS

+ + +

Components

+ +

HLS VP9 MP4 alone (no audio)

+ + +

HLS MJPEG MP4 alone (no audio)

+ + +

HLS MJPEG TS alone (no audio)

+ + +

HLS Opus MP4 alone (only audio)

+ + +

HLS MP3 MP4 alone (only audio)

+ + +

HLS MP3 TS alone (only audio)

+ + +

HLS MP3 raw alone (only audio)

+ + + + \ No newline at end of file diff --git a/new.m3u8 b/new.m3u8 new file mode 100644 index 0000000..be247ce --- /dev/null +++ b/new.m3u8 @@ -0,0 +1,10 @@ +#EXTM3U + +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="opus",NAME="English",LANGUAGE="en-US",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="new-opus.m3u8" +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="mp3",NAME="English",LANGUAGE="en-US",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="new-mp3-raw.m3u8" + +#EXT-X-STREAM-INF:BANDWIDTH=2560000,RESOLUTION=1920x1080,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +new-vp9.m3u8 + +#EXT-X-STREAM-INF:BANDWIDTH=2560000,RESOLUTION=1920x1080,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +new-vp9.m3u8