diff --git a/llamigos-vp9-mp3-opus.m3u8 b/llamigos-vp9-mp3-opus.m3u8 new file mode 100644 index 0000000..4530f3c --- /dev/null +++ b/llamigos-vp9-mp3-opus.m3u8 @@ -0,0 +1,29 @@ +#EXTM3U + +# Define the audio tracks for Opus and MP3 +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="opus",NAME="English",LANGUAGE="en-US",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="caminandes-llamigos.webm.audio.opus.m3u8" +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="mp3",NAME="English",LANGUAGE="en-US",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="caminandes-llamigos.webm.audio.mp3.m3u8" + +# Opus-based preferred +#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +caminandes-llamigos.webm.1080p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=1280x720,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +caminandes-llamigos.webm.720p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=875000,RESOLUTION=854x480,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +caminandes-llamigos.webm.480p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=375000,RESOLUTION=640x360,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +caminandes-llamigos.webm.360p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=275000,RESOLUTION=426x240,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +caminandes-llamigos.webm.240p.vp9.pass2.mp4.m3u8 + +# MP3 for Safari +#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +caminandes-llamigos.webm.1080p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=1280x720,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +caminandes-llamigos.webm.720p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=875000,RESOLUTION=854x480,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +caminandes-llamigos.webm.480p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=375000,RESOLUTION=640x360,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +caminandes-llamigos.webm.360p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=275000,RESOLUTION=426x240,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +caminandes-llamigos.webm.240p.vp9.pass2.mp4.m3u8 diff --git a/llamigos-vp9-opus-aac-mp3.m3u8 b/llamigos-vp9-opus-aac-mp3.m3u8 new file mode 100644 index 0000000..36b3a39 --- /dev/null +++ b/llamigos-vp9-opus-aac-mp3.m3u8 @@ -0,0 +1,42 @@ +#EXTM3U + +# Define the audio tracks for Opus and MP3 +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="opus",NAME="English",LANGUAGE="en-US",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="caminandes-llamigos.webm.audio.opus.m3u8" +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",NAME="English",LANGUAGE="en-US",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="caminandes-llamigos.webm.audio.aac.m3u8" +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="mp3",NAME="English",LANGUAGE="en-US",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="caminandes-llamigos.webm.audio.mp3.m3u8" + +# Opus-based preferred +#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080,FRAME-RATE=24.0,CODECS="vp09.00.10.08,Opus",AUDIO="opus" +caminandes-llamigos.webm.1080p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=1280x720,FRAME-RATE=24.0,CODECS="vp09.00.10.08,Opus",AUDIO="opus" +caminandes-llamigos.webm.720p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=875000,RESOLUTION=854x480,FRAME-RATE=24.0,CODECS="vp09.00.10.08,Opus",AUDIO="opus" +caminandes-llamigos.webm.480p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=375000,RESOLUTION=640x360,FRAME-RATE=24.0,CODECS="vp09.00.10.08,Opus",AUDIO="opus" +caminandes-llamigos.webm.360p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=275000,RESOLUTION=426x240,FRAME-RATE=24.0,CODECS="vp09.00.10.08,Opus",AUDIO="opus" +caminandes-llamigos.webm.240p.vp9.pass2.mp4.m3u8 + +# AAC-based temporary experiment (may not be able to use) +#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.02",AUDIO="aac" +caminandes-llamigos.webm.1080p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=1280x720,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.02",AUDIO="aac" +caminandes-llamigos.webm.720p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=875000,RESOLUTION=854x480,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.02",AUDIO="aac" +caminandes-llamigos.webm.480p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=375000,RESOLUTION=640x360,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.02",AUDIO="aac" +caminandes-llamigos.webm.360p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=275000,RESOLUTION=426x240,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.02",AUDIO="aac" +caminandes-llamigos.webm.240p.vp9.pass2.mp4.m3u8 + +# MP3 for Safari +#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +caminandes-llamigos.webm.1080p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=1280x720,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +caminandes-llamigos.webm.720p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=875000,RESOLUTION=854x480,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +caminandes-llamigos.webm.480p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=375000,RESOLUTION=640x360,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +caminandes-llamigos.webm.360p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=275000,RESOLUTION=426x240,FRAME-RATE=24.0,CODECS="vp09.00.10.08,mp4a.40.34",AUDIO="mp3" +caminandes-llamigos.webm.240p.vp9.pass2.mp4.m3u8 diff --git a/llamigos-vp9-opus.m3u8 b/llamigos-vp9-opus.m3u8 new file mode 100644 index 0000000..5ea7787 --- /dev/null +++ b/llamigos-vp9-opus.m3u8 @@ -0,0 +1,16 @@ +#EXTM3U + +# Define the audio tracks for Opus +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="opus",NAME="English",LANGUAGE="en-US",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="caminandes-llamigos.webm.audio.opus.m3u8" + +# Opus-based preferred +#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +caminandes-llamigos.webm.1080p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=1280x720,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +caminandes-llamigos.webm.720p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=875000,RESOLUTION=854x480,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +caminandes-llamigos.webm.480p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=375000,RESOLUTION=640x360,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +caminandes-llamigos.webm.360p.vp9.pass2.mp4.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=275000,RESOLUTION=426x240,FRAME-RATE=24.0,CODECS="vp09.00.10.08,opus",AUDIO="opus" +caminandes-llamigos.webm.240p.vp9.pass2.mp4.m3u8 diff --git a/ogv.html b/ogv.html index 4273a63..a824523 100644 --- a/ogv.html +++ b/ogv.html @@ -9,43 +9,61 @@

HLS WebM test

Checking HLS support...

-

Checking MSE support...

+

Checking MSE VP9 support...

Checking flat WebM VP8 / Vorbis support...

-

Checking flat WebM generic support...

Checking WebAssembly support...

Caminandes - Llamigos

+ + + + +

HLS with VP9 video and Opus, AAC, and MP3 audio. Flag WebM fallback.

+ -

HLS with MP3 audio (mp4a.40.34) and VP9-in-MP4 at several resolutions:

- - -

HLS with MP3 audio (mp4a.6b) and VP9-in-MP4 at several resolutions:

- - -

HLS with MP3 audio (mp3) and VP9-in-MP4 at several resolutions:

- - -

HLS with elementary MP3 audio (mp4a.40.34) and VP9-in-MP4 at several resolutions:

- +

Expected behavior:

+ - - \ No newline at end of file diff --git a/transcode-segment.php b/transcode-segment.php index d081f86..5e24bbc 100644 --- a/transcode-segment.php +++ b/transcode-segment.php @@ -209,7 +209,8 @@ class Transcoder { $segmentOptions = []; if ( $container == 'mp4' ) { $segmentOptions[] = '-segment_format_options'; - $segmentOptions[] = 'movflags=+frag_keyframe+empty_moov'; + //$segmentOptions[] = 'movflags=+frag_keyframe+empty_moov'; + $segmentOptions[] = 'movflags=frag_keyframe'; } if ( $container == 'mp3' ) { $segmentOptions[] = '-segment_format_options'; @@ -293,9 +294,8 @@ $infiles = [ foreach ( $infiles as $filename ) { $source = new SourceFile( $filename ); $codec = new Transcoder( $source ); - //$codec->audio('opus'); + $codec->audio('opus'); $codec->audio('mp3'); - /* $codec->audio('aac'); foreach ( Video::FORMATS['vp9']['resolutions'] as $res => $format ) { @@ -305,5 +305,4 @@ foreach ( $infiles as $filename ) { $codec->video('vp9', $res, 'pass2'); } } - */ }