TweetdeckPlayerDisableHLS

Tweetdeck等の動画プレイヤーで画質が可変になるのをなんとかするやつ(なんとかできないときもある)

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         TweetdeckPlayerDisableHLS
// @namespace    https://rinsuki.net/
// @version      0.1
// @description  Tweetdeck等の動画プレイヤーで画質が可変になるのをなんとかするやつ(なんとかできないときもある)
// @author       rinsuki
// @match        https://twitter.com/i/videos/tweet/*
// @run-at       document-start
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    var params = location.search.slice(1).split("&").map(a => {
        a = a.split("=")
        var name = a[0]
        var value = a.slice(1).join("=")
        return [name, decodeURIComponent(value)]
    }).reduce((obj, [k, v]) => ({...obj, [k]: v}), {})
    var dom = document.getElementById("playerContainer")
    var attrName = "data-config"
    var json = JSON.parse(dom.getAttribute(attrName))
    console.log(params)
    if (!params.content_type || !params.video_url) return
    json.content_type = params.content_type
    json.video_url = params.video_url
    dom.setAttribute(attrName, JSON.stringify(json))
})();