Brion VIBBER has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/283007

Change subject: Add defs for 1440p and clean up transcode format labels
......................................................................

Add defs for 1440p and clean up transcode format labels

Added defs for 1440p as an intermediate level for UHD content
transcodes (1440p is a better fit for laptop screens than 2160p
and plays faster in software VP9 decoding)

Also added a 360p level for H.264. Left the 320p one in place
in case anybody's using it. And removed old presets.

Clean up the transcode format labels into the following buckets:
* 160p "Low bandwidth"
* 240p "Small"
* 360p (default)
* 480p "SD"
* 720p "HD"
* 1080p "Full HD"
* 1440p "UHD"
* 2160p "Full UHD"

Change-Id: I8389bfad02dc5dacf68ad94b7f0bb194d8a27975
---
M WebVideoTranscode/WebVideoTranscode.php
M i18n/en.json
M i18n/qqq.json
3 files changed, 107 insertions(+), 32 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/TimedMediaHandler 
refs/changes/07/283007/1

diff --git a/WebVideoTranscode/WebVideoTranscode.php 
b/WebVideoTranscode/WebVideoTranscode.php
index fa30774..9c460f0 100644
--- a/WebVideoTranscode/WebVideoTranscode.php
+++ b/WebVideoTranscode/WebVideoTranscode.php
@@ -40,6 +40,7 @@
        const ENC_WEBM_480P = '480p.webm';
        const ENC_WEBM_720P = '720p.webm';
        const ENC_WEBM_1080P = '1080p.webm';
+       const ENC_WEBM_1440P = '1440p.webm';
        const ENC_WEBM_2160P = '2160p.webm';
 
        // WebM VP9/Opus profiles:
@@ -49,15 +50,18 @@
        const ENC_VP9_480P = '480p.vp9.webm';
        const ENC_VP9_720P = '720p.vp9.webm';
        const ENC_VP9_1080P = '1080p.vp9.webm';
+       const ENC_VP9_1440P = '1440p.vp9.webm';
        const ENC_VP9_2160P = '2160p.vp9.webm';
 
        // mp4 profiles:
        const ENC_H264_160P = '160p.mp4';
        const ENC_H264_240P = '240p.mp4';
        const ENC_H264_320P = '320p.mp4';
+       const ENC_H264_360P = '360p.mp4';
        const ENC_H264_480P = '480p.mp4';
        const ENC_H264_720P = '720p.mp4';
        const ENC_H264_1080P = '1080p.mp4';
+       const ENC_H264_1440P = '1440p.mp4';
        const ENC_H264_2160P = '2160p.mp4';
 
        const ENC_OGG_VORBIS = 'ogg';
@@ -194,6 +198,19 @@
                                'videoCodec'                 => 'vp8',
                                'type'                       => 'video/webm; 
codecs="vp8, vorbis"',
                        ),
+               WebVideoTranscode::ENC_WEBM_240P =>
+                       array(
+                               'maxSize'                    => '426x240',
+                               'videoBitrate'               => '256',
+                               'audioQuality'               => '1',
+                               'samplerate'                 => '44100',
+                               'noUpscaling'                => 'true',
+                               'twopass'                    => 'true',
+                               'keyframeInterval'           => '128',
+                               'bufDelay'                   => '256',
+                               'videoCodec'                 => 'vp8',
+                               'type'                       => 'video/webm; 
codecs="vp8, vorbis"',
+                       ),
                WebVideoTranscode::ENC_WEBM_360P =>
                        array(
                                'maxSize'                    => '640x360',
@@ -233,6 +250,15 @@
                         array(
                                'maxSize'                    => '1920x1080',
                                'videoBitrate'               => '4096',
+                               'audioQuality'               => 3,
+                               'noUpscaling'                => 'true',
+                               'videoCodec'                 => 'vp8',
+                               'type'                       => 'video/webm; 
codecs="vp8, vorbis"',
+                       ),
+               WebVideoTranscode::ENC_WEBM_1440P =>
+                        array(
+                               'maxSize'                    => '2560x1440',
+                               'videoBitrate'               => '8192',
                                'audioQuality'               => 3,
                                'noUpscaling'                => 'true',
                                'videoCodec'                 => 'vp8',
@@ -329,6 +355,20 @@
                                'tileColumns'                => '4',
                                'type'                       => 'video/webm; 
codecs="vp9, opus"',
                        ),
+               WebVideoTranscode::ENC_VP9_1440P =>
+                        array(
+                               'maxSize'                    => '2560x1440',
+                               'videoBitrate'               => '4096',
+                               'samplerate'                 => '48000',
+                               'noUpscaling'                => 'true',
+                               'twopass'                    => 'true',
+                               'keyframeInterval'           => '128',
+                               'bufDelay'                   => '256',
+                               'videoCodec'                 => 'vp9',
+                               'audioCodec'                 => 'opus',
+                               'tileColumns'                => '4',
+                               'type'                       => 'video/webm; 
codecs="vp9, opus"',
+                       ),
                WebVideoTranscode::ENC_VP9_2160P =>
                         array(
                                'maxSize'                    => '4096x2160',
@@ -355,40 +395,50 @@
                        array(
                                'maxSize' => '288x160',
                                'videoCodec' => 'h264',
-                               'preset' => 'ipod320',
                                'videoBitrate' => '160k',
                                'audioCodec' => 'aac',
                                'channels' => '2',
                                'audioBitrate' => '40k',
                                'type' => 'video/mp4; codecs="avc1.42E01E, 
mp4a.40.2"',
                        ),
+
                WebVideoTranscode::ENC_H264_240P =>
                        array(
                                'maxSize' => '426x240',
                                'videoCodec' => 'h264',
-                               'preset' => 'ipod320',
                                'videoBitrate' => '256k',
                                'audioCodec' => 'aac',
                                'channels' => '2',
                                'audioBitrate' => '40k',
                                'type' => 'video/mp4; codecs="avc1.42E01E, 
mp4a.40.2"',
                        ),
+
                WebVideoTranscode::ENC_H264_320P =>
                        array(
                                'maxSize' => '480x320',
                                'videoCodec' => 'h264',
-                               'preset' => 'ipod320',
                                'videoBitrate' => '400k',
                                'audioCodec' => 'aac',
                                'channels' => '2',
                                'audioBitrate' => '40k',
                                'type' => 'video/mp4; codecs="avc1.42E01E, 
mp4a.40.2"',
                        ),
+
+               WebVideoTranscode::ENC_H264_360P =>
+                       array(
+                               'maxSize' => '640x360',
+                               'videoCodec' => 'h264',
+                               'videoBitrate' => '512k',
+                               'audioCodec' => 'aac',
+                               'channels' => '2',
+                               'audioBitrate' => '64k',
+                               'type' => 'video/mp4; codecs="avc1.42E01E, 
mp4a.40.2"',
+                       ),
+
                WebVideoTranscode::ENC_H264_480P =>
                        array(
-                               'maxSize' => '640x480',
+                               'maxSize' => '854x480',
                                'videoCodec' => 'h264',
-                               'preset' => 'ipod640',
                                'videoBitrate' => '1200k',
                                'audioCodec' => 'aac',
                                'channels' => '2',
@@ -399,7 +449,6 @@
                        array(
                                'maxSize' => '1280x720',
                                'videoCodec' => 'h264',
-                               'preset' => '720p',
                                'videoBitrate' => '2500k',
                                'audioCodec' => 'aac',
                                'channels' => '2',
@@ -416,6 +465,16 @@
                                'audioBitrate' => '128k',
                                'type' => 'video/mp4; codecs="avc1.42E01E, 
mp4a.40.2"',
                        ),
+               WebVideoTranscode::ENC_H264_1440P =>
+                       array(
+                               'maxSize' => '2560x1440',
+                               'videoCodec' => 'h264',
+                               'videoBitrate' => '16384k',
+                               'audioCodec' => 'aac',
+                               'channels' => '2',
+                               'audioBitrate' => '128k',
+                               'type' => 'video/mp4; codecs="avc1.42E01E, 
mp4a.40.2"',
+                       ),
                WebVideoTranscode::ENC_H264_2160P =>
                        array(
                                'maxSize' => '4096x2160',
diff --git a/i18n/en.json b/i18n/en.json
index 92b28c4..a237d66 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -68,57 +68,65 @@
        "timedmedia-derivative-160p.ogv": "Ogg 160P",
        "timedmedia-derivative-desc-160p.ogv": "Low bandwidth Ogg video (160P)",
        "timedmedia-derivative-240p.ogv": "Ogg 240P",
-       "timedmedia-derivative-desc-240p.ogv": "Web streamable Ogg video 
(240P)",
+       "timedmedia-derivative-desc-240p.ogv": "Small Ogg video (240P)",
        "timedmedia-derivative-360p.ogv": "Ogg 360P",
-       "timedmedia-derivative-desc-360p.ogv": "Web streamable Ogg video 
(360P)",
+       "timedmedia-derivative-desc-360p.ogv": "Ogg video (360P)",
        "timedmedia-derivative-480p.ogv": "Ogg 480P",
-       "timedmedia-derivative-desc-480p.ogv": "Web streamable Ogg video 
(480P)",
+       "timedmedia-derivative-desc-480p.ogv": "SD Ogg video (480P)",
        "timedmedia-derivative-720p.ogv": "Ogg 720P",
-       "timedmedia-derivative-desc-720p.ogv": "High quality downloadable Ogg 
video (720P)",
+       "timedmedia-derivative-desc-720p.ogv": "HD Ogg video (720P)",
        "timedmedia-derivative-1080p.ogv": "Ogg 1080P",
-       "timedmedia-derivative-desc-1080p.ogv": "Full HD downloadable Ogg video 
(1080P)",
+       "timedmedia-derivative-desc-1080p.ogv": "Full HD Ogg video (1080P)",
        "timedmedia-derivative-160p.webm": "WebM 160P",
-       "timedmedia-derivative-desc-160p.webm": "Web streamable WebM (160P)",
+       "timedmedia-derivative-desc-160p.webm": "Low bandwidth WebM (160P)",
        "timedmedia-derivative-240p.webm": "WebM 240P",
-       "timedmedia-derivative-desc-240p.webm": "Web streamable WebM (240P)",
+       "timedmedia-derivative-desc-240p.webm": "Small WebM (240P)",
        "timedmedia-derivative-360p.webm": "WebM 360P",
-       "timedmedia-derivative-desc-360p.webm": "Web streamable WebM (360P)",
+       "timedmedia-derivative-desc-360p.webm": "WebM (360P)",
        "timedmedia-derivative-480p.webm": "WebM 480P",
-       "timedmedia-derivative-desc-480p.webm": "Web streamable WebM (480P)",
+       "timedmedia-derivative-desc-480p.webm": "SD WebM (480P)",
        "timedmedia-derivative-720p.webm": "WebM 720P",
-       "timedmedia-derivative-desc-720p.webm": "High quality downloadable WebM 
(720P)",
+       "timedmedia-derivative-desc-720p.webm": "HD WebM (720P)",
        "timedmedia-derivative-1080p.webm": "WebM 1080P",
-       "timedmedia-derivative-desc-1080p.webm": "Full HD downloadable WebM 
(1080P)",
+       "timedmedia-derivative-desc-1080p.webm": "Full HD WebM (1080P)",
+       "timedmedia-derivative-1440p.webm": "WebM 1440P",
+       "timedmedia-derivative-desc-1440p.webm": "UHD WebM (1440P)",
        "timedmedia-derivative-2160p.webm": "WebM 2160P",
-       "timedmedia-derivative-desc-2160p.webm": "Full 4K downloadable WebM 
(2160P)",
+       "timedmedia-derivative-desc-2160p.webm": "Full UHD WebM (2160P)",
        "timedmedia-derivative-160p.vp9.webm": "VP9 160P",
-       "timedmedia-derivative-desc-160p.vp9.webm": "Web streamable WebM VP9 
(160P)",
+       "timedmedia-derivative-desc-160p.vp9.webm": "Low bandwidth VP9 (160P)",
        "timedmedia-derivative-240p.vp9.webm": "VP9 240P",
-       "timedmedia-derivative-desc-240p.vp9.webm": "Web streamable WebM VP9 
(240P)",
+       "timedmedia-derivative-desc-240p.vp9.webm": "Small VP9 (240P)",
        "timedmedia-derivative-360p.vp9.webm": "VP9 360P",
-       "timedmedia-derivative-desc-360p.vp9.webm": "Web streamable WebM VP9 
(360P)",
+       "timedmedia-derivative-desc-360p.vp9.webm": "VP9 (360P)",
        "timedmedia-derivative-480p.vp9.webm": "VP9 480P",
-       "timedmedia-derivative-desc-480p.vp9.webm": "Web streamable WebM VP9 
(480P)",
+       "timedmedia-derivative-desc-480p.vp9.webm": "SD VP9 (480P)",
        "timedmedia-derivative-720p.vp9.webm": "VP9 720P",
-       "timedmedia-derivative-desc-720p.vp9.webm": "HD streamable WebM VP9 
(720P)",
+       "timedmedia-derivative-desc-720p.vp9.webm": "HD VP9 (720P)",
        "timedmedia-derivative-1080p.vp9.webm": "VP9 1080P",
-       "timedmedia-derivative-desc-1080p.vp9.webm": "Full HD streamable WebM 
VP9 (1080P)",
+       "timedmedia-derivative-desc-1080p.vp9.webm": "Full HD VP9 (1080P)",
+       "timedmedia-derivative-1440p.vp9.webm": "VP9 1440P",
+       "timedmedia-derivative-desc-1440p.vp9.webm": "UHD VP9 (1440P)",
        "timedmedia-derivative-2160p.vp9.webm": "VP9 2160P",
-       "timedmedia-derivative-desc-2160p.vp9.webm": "Full 4K streamable WebM 
VP9 (2160P)",
+       "timedmedia-derivative-desc-2160p.vp9.webm": "4K UHD VP9 (2160P)",
        "timedmedia-derivative-160p.mp4": "H264 160P",
-       "timedmedia-derivative-desc-160p.mp4": "Device-friendly MP4 (160P)",
+       "timedmedia-derivative-desc-160p.mp4": "Low bandwidth MP4 H.264 (160P)",
        "timedmedia-derivative-240p.mp4": "H264 240P",
-       "timedmedia-derivative-desc-240p.mp4": "Device-friendly MP4 (240P)",
+       "timedmedia-derivative-desc-240p.mp4": "Small MP4 H.264 (240P)",
        "timedmedia-derivative-320p.mp4": "H264 320P",
-       "timedmedia-derivative-desc-320p.mp4": "Device-friendly MP4 (320P)",
+       "timedmedia-derivative-desc-320p.mp4": "MP4 H.264 (320P)",
+       "timedmedia-derivative-360p.mp4": "H264 360P",
+       "timedmedia-derivative-desc-360p.mp4": "MP4 H.264 (360P)",
        "timedmedia-derivative-480p.mp4": "H264 480P",
-       "timedmedia-derivative-desc-480p.mp4": "Web streamable MP4 (480P)",
+       "timedmedia-derivative-desc-480p.mp4": "SD MP4 H.264 (480P)",
        "timedmedia-derivative-720p.mp4": "H264 720P",
-       "timedmedia-derivative-desc-720p.mp4": "HD quality MP4 (720P)",
+       "timedmedia-derivative-desc-720p.mp4": "HD MP4 H.264 (720P)",
        "timedmedia-derivative-1080p.mp4": "H264 1080P",
-       "timedmedia-derivative-desc-1080p.mp4": "Full HD quality MP4 (1080P)",
+       "timedmedia-derivative-desc-1080p.mp4": "Full HD MP4 H.264 (1080P)",
+       "timedmedia-derivative-1440p.mp4": "H264 1440P",
+       "timedmedia-derivative-desc-1440p.mp4": "UHD MP4 H.264 (1440P)",
        "timedmedia-derivative-2160p.mp4": "H264 2160P",
-       "timedmedia-derivative-desc-2160p.mp4": "Full 4K quality MP4 (2160P)",
+       "timedmedia-derivative-desc-2160p.mp4": "4K UHD MP4 H.264 (2160P)",
        "timedmedia-derivative-ogg": "Ogg Vorbis",
        "timedmedia-derivative-desc-ogg": "Ogg Vorbis",
        "timedmedia-derivative-opus": "Opus",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 8d57ac8..c00bf4b 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -107,6 +107,8 @@
        "timedmedia-derivative-desc-720p.webm": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-1080p.webm": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-desc-1080p.webm": "{{optional}} A type of media 
format encoding",
+       "timedmedia-derivative-1440p.webm": "{{optional}} A type of media 
format encoding",
+       "timedmedia-derivative-desc-1440p.webm": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-2160p.webm": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-desc-2160p.webm": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-160p.vp9.webm": "{{optional}} A type of media 
format encoding",
@@ -121,6 +123,8 @@
        "timedmedia-derivative-desc-720p.vp9.webm": "A type of media format 
encoding",
        "timedmedia-derivative-1080p.vp9.webm": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-desc-1080p.vp9.webm": "{{optional}} A type of 
media format encoding",
+       "timedmedia-derivative-1440p.vp9.webm": "{{optional}} A type of media 
format encoding",
+       "timedmedia-derivative-desc-1440p.vp9.webm": "{{optional}} A type of 
media format encoding",
        "timedmedia-derivative-2160p.vp9.webm": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-desc-2160p.vp9.webm": "{{optional}} A type of 
media format encoding",
        "timedmedia-derivative-160p.mp4": "{{optional}} A type of media format 
encoding",
@@ -129,12 +133,16 @@
        "timedmedia-derivative-desc-240p.mp4": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-320p.mp4": "{{optional}} A type of media format 
encoding",
        "timedmedia-derivative-desc-320p.mp4": "{{optional}} A type of media 
format encoding",
+       "timedmedia-derivative-360p.mp4": "{{optional}} A type of media format 
encoding",
+       "timedmedia-derivative-desc-360p.mp4": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-480p.mp4": "{{optional}} A type of media format 
encoding",
        "timedmedia-derivative-desc-480p.mp4": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-720p.mp4": "{{optional}} A type of media format 
encoding",
        "timedmedia-derivative-desc-720p.mp4": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-1080p.mp4": "{{optional}} A type of media format 
encoding",
        "timedmedia-derivative-desc-1080p.mp4": "{{optional}} A type of media 
format encoding",
+       "timedmedia-derivative-1440p.mp4": "{{optional}} A type of media format 
encoding",
+       "timedmedia-derivative-desc-1440p.mp4": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-2160p.mp4": "{{optional}} A type of media format 
encoding",
        "timedmedia-derivative-desc-2160p.mp4": "{{optional}} A type of media 
format encoding",
        "timedmedia-derivative-ogg": "{{optional}} Short form of a media 
format.",

-- 
To view, visit https://gerrit.wikimedia.org/r/283007
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8389bfad02dc5dacf68ad94b7f0bb194d8a27975
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/TimedMediaHandler
Gerrit-Branch: master
Gerrit-Owner: Brion VIBBER <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to