1

これがこの質問を投稿する適切な場所であるかどうかはわかりません。これについて多くのことをグーグル検索しましたが、何も見つかりませんでした。フォームのリンク

http://www.youtube.com/watch?v=[ビデオ ID]

データ ストリームへのリンクを取得するにはどうすればよいですか?

4

4 に答える 4

3

次の bash スクリプトは、YouTube ストリーミング URL を取得します。私はこれが時代遅れであることを知っていますが、おそらくこれは誰かを助けるでしょう.

#!/bin/bash

[ -z "$1" ] && printf "usage: `basename $0` <youtube_url>\n" && exit 1

ID="$(echo "$1" | grep -o "v=[^\&]*" | sed 's|v=||')"
URL="$(curl -s "http://www.youtube.com/get_video_info?&video_id=$ID" | sed -e 's|%253A|:|g' -e 's|%252F|/|g' -e 's|%253F|?|g' -e 's|%253D|=|g' -e 's|%2525|%|g' -e 's|%2526|\&|g' -e 's|\%26|\&|g' -e 's|%3D|=|g' -e 's|type=video/[^/]*&sig|signature|g' | grep -o "http://o-o---preferred[^:]*signature=[^\&]*" | head -1)"

[ -z "$URL" ] && printf "Nothing was found...\n" && exit 2

echo "$URL"
于 2012-11-07T06:56:23.007 に答える
1

YouTube ページをリバース エンジニアリングしてストリーム データを抽出する簡単なレッスンを次に示します。

HTML には、変数 "swfHTML" を定義する<script> タグがあります。これは次のようになります: "var swfHTML = (isIE) ? "...

そのスニペットに続く引用符内のテキストは、Flash オブジェクトを表示する HTML です。このテキストは、連結される分割された文字列のセットであるため、クリーンアップする必要があることに注意してください(つまり、'" + "' のインスタンスを削除し、HTML 文字列を取得するためにバックスラッシュをエスケープします)。

クリーンアップしたら、 name="flashvars"を含む<param> タグを見つける必要があります。このタグの値は & で区切られた URL です。& を分割すると、このビデオに関連するすべてのデータのキーと値のペアが得られます。

探している主なキーは " fmt_url_map " で、"35|" で始まるコンマ区切り値の URL エンコード文字列です。または「34|」またはその他。(これらは別のキー " fmt_list " で定義され、解像度が 35 の場合は 854x480、34 の場合は 640x360 などのファイルになります。)

于 2010-12-30T15:52:41.060 に答える
0

次のようなリンクを開く必要があり ます http://www.youtube.com/get_video_info?&video_id=OjEG808MfF4 そしてあなたのストリームをあなたのインリターンデータで見つけてください

于 2015-09-22T11:30:40.233 に答える
0

各チャネルはすぐには更新されない RSS データを提供します。

これは Youtube RSS ファイルのジェネレーターです。RSS 情報に基づいて、ビデオファイルの場所を推測できるはずです。flv ファイルはストリーミング可能である必要がありますが、他の形式も提供されています。

編集: http://www.referd.info/利用できなくなりました。これは基本的に、YouTube のリンクを提供し、逆参照して、そのビデオのすべての可能なダウンロード ソースを見つけるサービスでした。これらのサービスはまだ存在していると思いますが、これはもうありません。

于 2010-12-30T13:50:16.403 に答える