YouTubeでライブストリームビデオのダウンロード可能なURLを取得する方法

user2905416

私はc#のライブストリームビデオを含むyoutubeからビデオをダウンロードするためのツールを書いています。私がしていることは:「https://www.youtube.com/watch?v=bnpPLjEudoU」のようなyoutubeurlからhtmlソースを取得します。 1080p-720p-480p-360pなどでダウンロードできる実際のビデオURLのリストを含む、JSONで再生するビデオの構成を含むコードのjavascriptフラグメントを見つけます。これは完全に機能します。通常のビデオといくつかのライブストリームビデオですが、Fox News Live chanel( " https://www.youtube.com/watch?v=bnpPLjEudoU ")を使用すると、。以外の080p-720p-480p-360pのURLが見つかりません。 m3u8 url

( " https://manifest.googlevideo.com/api/manifest/hls_variant/keepalive/yes/id/bnpPLjEudoU.1~23716582/go/1/gcr/vn/sparams/ei,gcr,go,hfr,id、 ip、ipbits、itag、maudio、playlist_type、ratebypass、requiressl、source、tx、txs、expire / requiresl / yes / itag / 0 / playlist_type / DVR /得るもの/3696DA0D44C88FCB370F27A780985017099507B2.9D3CB7209C75E0656424848 9486114 / maudio / 1 / expire / 1514883856 / ipbits / 0 / ratebypass / yes / dover / 8 / source / yt_live_broadcast / ip / 118.107.71.247 / key / yt6 / ei / sPZKWu7RG4qx4AKKwJmACg / tx / 9486113 / hfr / 1 / file / index.m3u8 ")、

VLCメディアプレーヤーでその.m3u8URLを試しましたが、画面に表示される画像は1つだけでした。だから誰かが私にYouTubeからビデオを取得するための私の解決策は大丈夫だと教えてください?もっと良い方法はありますか?私はツールをc#で書いていますが、他のプログラミング言語に切り替えることができます。

user2905416

*最後に私は自分で解決策を見つけました。YouTubeの通常のビデオで:+私は以下を使用してYouTubeのURLからHTMLページのソースを取得します:

    string pageSource = WebClient.DownloadString(youtubeURL)   

+ HTMLソースから、正規表現を使用してダウンロードしたいビデオの構成を見つけ、見つけたものをJSONに変換します。

    var dataRegex = new Regex(@"ytplayer\.config\s*=\s*(\{.+?\});", RegexOptions.Multiline);
        string extractedJson = dataRegex.Match(pageSource).Result("$1");
        Object[] objs = new Object[] { url, JObject.Parse(extractedJson) };

+私が取得したJsonオブジェクトの形式は次のとおりです。

{{

"attrs":{

"id": "movie_player"

}、

"params":{

"allowscriptaccess": "always",
"allowfullscreen": "true",
"bgcolor": "#000000"

}、

"args":{

"c": "WEB",
"vmap": "",
"iv_load_policy": "1",
"innertube_api_version": "v1",
"xhr_apiary_host": "youtubei.youtube.com",
"length_seconds": "3826",
"relative_loudness": "-8.05900001526",
"pltype": "contentugc",
"title": "",
"host_language": "vi",
"enablecsi": "1",
"vm": "CAEQARgE",
"eventid": "gN9VWsD2HYu1qQHYh6DYCQ",
"plid": "AAViaNGgboLtCsQo",
"watermark": "",
"enablejsapi": "1",
"no_get_video_log": "1",
"loaderUrl": "https://www.youtube.com/watch?v=oGeAFd9zjDI",
"vss_host": "s.youtube.com",
"oid": "h6xIstk06YQWVvfO-FkUjg",
"cver": "1.20180108",
"ldpj": "-35",
"timestamp": "1515577216",
"thumbnail_url": "https://i.ytimg.com/vi/oGeAFd9zjDI/default.jpg",
"view_count": "941366",
"idpj": "-9",
"fexp":"",
"loudness": "-29.0590000153",
"allow_ratings": "1",
"pyv_ad_channel": "",
"apiary_host": "",
"tmi": "1",
"fmt_list": "22/1280x720,43/640x360,18/640x360,36/320x180,17/176x144",
"video_id": "oGeAFd9zjDI",
"subtitles_xlb": "https://s.ytimg.com/yts/xlbbin/subtitles-strings-vi_VN-vfl-WQ1GC.xlb",
"videostats_playback_base_url": " ",
"player_response": "{}",
"ptk": "youtube_single",
"ucid": "UCIt0gjo6BZk37cLWm04LmCQ",
"apiary_host_firstparty": "",
"t": "1",
"swf_player_response": "1",
"ssl": "1",
"avg_rating": "4.11271858215",
"allow_embed": "1",
"is_listed": "1",
"cr": "VN",
"itct": "CAMQu2kiEwjAtvmMjc3YAhWLWioKHdgDCJso-B0=",
 "atc":"",
 "fflags":"",
"cl": "181278566",
"iv_invideo_url": "",
"player_error_log_fraction": "1.0",
"of": "Ds_CbA89Q3Fyo-EOejl1bA",
"token": "1",
"external_play_video": "1",
"show_pyv_in_related": false,
"account_playback_token": "",
"innertube_api_key": "AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8",
"csi_page_type": "watch,watch7_html5",
"adaptive_fmts": "",
"gapi_hint_params": "",
"author": "Mr Dolphin",
"ppv_remarketing_url": "",
"innertube_context_client_version": "1.20180108",
"hl": "vi_VN",
"url_encoded_fmt_stream_map": "list of actual urls for 1080p,720p,360p and so on, that will be able to download after decode",
"iv3_module": "1",
"keywords": " ",
"ismb": "8340000",
"watch_xlb": "https://s.ytimg.com/yts/xlbbin/watch-strings-vi_VN-vflzKZ5ht.xlb"

}、

"url": ""、

"min_version": "8.0.0"、

「sts」:17536、

「アセット」:{

"js": "/yts/jsbin/player-vfluepRD8/vi_VN/base.js",
"css": "/yts/cssbin/player-vfl_z2Ycb/www-player.css"

}、 "html5":true}

+これで、JsonObjectを使用すると、次を使用してビデオをダウンロードできるすべてのURLが見つかります。

     string urlsToDownload = json["args"]["url_encoded_fmt_stream_map"].ToString();

*ライブストリームビデオでは、通常のビデオと同じプロセスを実行しますが、最後のステップで、ダウンロード可能なURLのリストを取得する代わりに、次の方法で.m3u8URLを取得する必要があります。

   string downloadUrl = WebUtility.UrlDecode(json["args"]["hlsvp"].ToString());

+ .m3u8 urlがある場合、「FFMPEG」を使用してライブストリームビデオをダウンロードします

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

RTMPストリームからビデオをダウンロードするためのビデオURLを取得する方法

分類Dev

Windows 10のPython(ダウンロードなし)でYoutube URLからオーディオをストリーミングする方法は?

分類Dev

ビデオのダウンロード中にYouTubeのビデオタイトルを取得する

分類Dev

アプリケーションでYoutubeライブストリームビデオを再生する方法は?

分類Dev

PythonでYoutube URLからオーディオをストリーミングする方法(ダウンロードなし)?

分類Dev

Jestまたはその他のテストライブラリ/フレームワークを使用して、URLをロードし、ブラウザでレンダリングされたDOMオブジェクトを取得することは可能ですか?

分類Dev

ネイティブプレーヤーでYouTubeビデオを再生する方法とYouTubeビデオをダウンロードする方法

分類Dev

フロントエンドでYouTubeビデオのダウンロードの進行状況を表示する方法

分類Dev

YouTubeビデオダウンローダーが一部のビデオのみをダウンロードし、他のビデオではURLや暗号などのキーエラーが表示されるのはなぜですか?

分類Dev

Pythonスクリプトでyoutube-dlを使用してyoutubeビデオからオーディオのみをダウンロードする

分類Dev

Pythonスクリプトでyoutube-dlを使用してyoutubeビデオからオーディオのみをダウンロードする

分類Dev

このトリッキーなYouTube以外のフラッシュビデオをダウンロードするにはどうすればよいですか?

分類Dev

G2M4ビデオでmmsストリームをダウンロードする方法は?

分類Dev

Linuxでrtmpビデオストリームをダウンロードする方法は?

分類Dev

ウェブサイトでのビデオダウンロードを無効にする方法は?

分類Dev

youtube、dailymotion、vimeoなどのサイトからフラッシュ(ストリーミング)ビデオをダウンロードするにはどうすればよいですか?

分類Dev

youtube、dailymotion、vimeoなどのサイトからフラッシュ(ストリーミング)ビデオをダウンロードするにはどうすればよいですか?

分類Dev

ブラウザで既存のオーディオビデオストリームを取得する

分類Dev

Twilioの「プログラム可能なビデオ」JWTアクセストークンを正しく処理する方法は?(アンドロイド)

分類Dev

ビデオURLのサムネイル画像をテーブルビューリストに非同期でロードする方法

分類Dev

youtube-dlを使用して外付けドライブにビデオをダウンロードする

分類Dev

コマンドラインでVLCを使用してYouTubeからビデオをダウンロードする

分類Dev

ウェブビューに表示されるAndroidワードプレスクライアントアプリでYoutubeとFacebookのビデオをフルスクリーンにする方法

分類Dev

HTTPS経由でYouTubeビデオをダウンロードする方法

分類Dev

拡張可能なリストビューKotlinのヘッダーで子カウントを取得する方法

分類Dev

ビデオをダウンロードせずにYouTubeビデオの特定のフレームを抽出する

分類Dev

ビデオをダウンロードせずにYouTubeビデオの特定のフレームを抽出する

分類Dev

ffmpegとyoutube-dlを使用して、プレイリスト内のすべてのビデオの最初のフレームをダウンロードするにはどうすればよいですか?

分類Dev

個々のユーザーディレクトリ(ダウンロード、画像など)を異なるハードドライブにマウントする方法

Related 関連記事

  1. 1

    RTMPストリームからビデオをダウンロードするためのビデオURLを取得する方法

  2. 2

    Windows 10のPython(ダウンロードなし)でYoutube URLからオーディオをストリーミングする方法は?

  3. 3

    ビデオのダウンロード中にYouTubeのビデオタイトルを取得する

  4. 4

    アプリケーションでYoutubeライブストリームビデオを再生する方法は?

  5. 5

    PythonでYoutube URLからオーディオをストリーミングする方法(ダウンロードなし)?

  6. 6

    Jestまたはその他のテストライブラリ/フレームワークを使用して、URLをロードし、ブラウザでレンダリングされたDOMオブジェクトを取得することは可能ですか?

  7. 7

    ネイティブプレーヤーでYouTubeビデオを再生する方法とYouTubeビデオをダウンロードする方法

  8. 8

    フロントエンドでYouTubeビデオのダウンロードの進行状況を表示する方法

  9. 9

    YouTubeビデオダウンローダーが一部のビデオのみをダウンロードし、他のビデオではURLや暗号などのキーエラーが表示されるのはなぜですか?

  10. 10

    Pythonスクリプトでyoutube-dlを使用してyoutubeビデオからオーディオのみをダウンロードする

  11. 11

    Pythonスクリプトでyoutube-dlを使用してyoutubeビデオからオーディオのみをダウンロードする

  12. 12

    このトリッキーなYouTube以外のフラッシュビデオをダウンロードするにはどうすればよいですか?

  13. 13

    G2M4ビデオでmmsストリームをダウンロードする方法は?

  14. 14

    Linuxでrtmpビデオストリームをダウンロードする方法は?

  15. 15

    ウェブサイトでのビデオダウンロードを無効にする方法は?

  16. 16

    youtube、dailymotion、vimeoなどのサイトからフラッシュ(ストリーミング)ビデオをダウンロードするにはどうすればよいですか?

  17. 17

    youtube、dailymotion、vimeoなどのサイトからフラッシュ(ストリーミング)ビデオをダウンロードするにはどうすればよいですか?

  18. 18

    ブラウザで既存のオーディオビデオストリームを取得する

  19. 19

    Twilioの「プログラム可能なビデオ」JWTアクセストークンを正しく処理する方法は?(アンドロイド)

  20. 20

    ビデオURLのサムネイル画像をテーブルビューリストに非同期でロードする方法

  21. 21

    youtube-dlを使用して外付けドライブにビデオをダウンロードする

  22. 22

    コマンドラインでVLCを使用してYouTubeからビデオをダウンロードする

  23. 23

    ウェブビューに表示されるAndroidワードプレスクライアントアプリでYoutubeとFacebookのビデオをフルスクリーンにする方法

  24. 24

    HTTPS経由でYouTubeビデオをダウンロードする方法

  25. 25

    拡張可能なリストビューKotlinのヘッダーで子カウントを取得する方法

  26. 26

    ビデオをダウンロードせずにYouTubeビデオの特定のフレームを抽出する

  27. 27

    ビデオをダウンロードせずにYouTubeビデオの特定のフレームを抽出する

  28. 28

    ffmpegとyoutube-dlを使用して、プレイリスト内のすべてのビデオの最初のフレームをダウンロードするにはどうすればよいですか?

  29. 29

    個々のユーザーディレクトリ(ダウンロード、画像など)を異なるハードドライブにマウントする方法

ホットタグ

アーカイブ