Chromeの拡張機能で、ブラウザのタブからストリーミングオーディオを聴くことはできますか?ストリーミングオーディオデータをキャプチャして分析したいと思います。Chrome拡張機能でストリーミングオーディオを聴いてキャプチャする
おかげ
Chromeの拡張機能で、ブラウザのタブからストリーミングオーディオを聴くことはできますか?ストリーミングオーディオデータをキャプチャして分析したいと思います。Chrome拡張機能でストリーミングオーディオを聴いてキャプチャする
おかげ
あなたは3つの方法を試すことができ、どちらもあなたのニーズを満たすために100%の保証を提供します。
詳細を説明する前に、クロールの拡張機能では、接続のレベルごとに作業するための便利なツールはありません。十分にローレベルが必要です。これは設計によるものです。
は、接続のための低レベルAPIを提供たとえばFirefoxの、のために、他のブラウザで見てくださいするには:1-番目の方法があるのはこのためです。彼らはすでに同様の拡張機能で使用されていることが知られています。あなたはMediaStealerを見ているかもしれません。 Chromeでシステムを構築するための特別な要件がない場合は、Firefoxに移行する必要があります。
webRequest APIを使用してHTTPリクエストをインターセプトし、ヘッダーを分析し、メディアURL(HTTPヘッダーなどのオーディオ/ MPEG MIMEタイプを含むなど)を抽出するChrome拡張機能を開発できます。ちょうどコードの簡単な例のためにあなたは次のSOの質問を見てください - How to change response header in Chrome。あなたは、適切なメディアをファイルとしてダウンロードするよう強制することができます。それはデフォルトのダウンロードフォルダに着陸し、不親切な名前を持つ可能性があります。 (私はそのような拡張を行ったが、私はさらなる処理のための要件を持っていない)。このようなファイルをさらに処理する必要がある場合は、フォルダ内でファイルを監視し、別のプログラムで追加の分析を実行することが難しい場合があります。
一般的にはNPAPIプラグインと、特にstreaming APIsがあります。オーディオ/ MPEG MIMEタイプに登録されたプラグインを作成し、NPP_NewStream
、NPP_WriteReady
、NPP_Write
の方法でデータを受け取ったとします。プラグインはChrome拡張機能にラップすることができます。私はNPAPIプラグインを作ったが、私は決してこのAPIを使用しなかった。期待どおりに動作するかどうかは分からない。それにもかかわらず、私は完全性のためにここにこの可能性を言及しています。この方法では、C/C++を意味するWebコーディング以外のコーディングが必要です。 NB。 NPAPIプラグインは、あなたは、あなたがインテリジェントなデータ処理のように聞こえる心の中でいくつかの(拡張子)は外部の「フィンガープリントサービス」を、持って考慮に入れると
9月、2015年以降は非推奨とChromeでサポートされていません。ブラウザからすべてのシステムを構築することに興味があるかもしれません。たとえば、HTTPプロキシを使用してメディアがトラフィックを通過しないようにすることができます。
私Privoxyは次のログがあります。
2013-08-28 18:25:27.953 00002f44 Request: api.audioaddict.com/v1/di/listener_sessions.jsonp?_method=POST&callback=_AudioAddict_WP_ListenerSession_create&listener_session%5Bid%5D=null&listener_session%5Bis_premium%5D=false&listener_session%5Bmember_id%5D=null&listener_session%5Bdevice_id%5D=6&listener_session%5Bchannel_id%5D=178&listener_session%5Bstream_set_key%5D=webplayer&_=1377699927926
2013-08-28 18:25:27.969 0000268c Request: api.audioaddict.com/v1/ping.jsonp?callback=_AudioAddict_WP_Ping__ping&_=1377699927928
2013-08-28 18:25:27.985 00002d48 Request: api.audioaddict.com/v1/di/track_history/channel/178.jsonp?callback=_AudioAddict_TrackHistory_Channel&_=1377699927942
2013-08-28 18:25:54.080 00003360 Request: pub7.di.fm/di_progressivepsy_aac?type=.flv
だから私は、ストリームのURLを持って、それを記録:
D:\Profiles\user\temp>wget pub7.di.fm/di_progressivepsy_aac?type=.flv
--18:26:32-- http://pub7.di.fm/di_progressivepsy_aac?type=.flv
=> `[email protected]=.flv'
Resolving pub7.di.fm... done.
Connecting to pub7.di.fm[67.221.255.50]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [video/x-flv]
[ <=> ] 1,234,151 8.96K/s
私はあらゆるマルチメディアpleerで再現することができますファイルを得ました。
のMac OSXの溶液使用soundflower:http://rogueamoeba.com/freebies/soundflower/
それは音の好みに別のオーディオデバイス(リンゴ>システム環境設定>音)として表示されるはずsoundflowerインストールした後。コンピュータのオーディオを2chオプション(ステレオ、16chはサラウンド)に変換し、DAWの中で「大胆」などのオーディオ入力をサウンドフラワーとして設定します。これで、DAWにサウンドを録音する準備が整いました。
注:内部スピーカーからサウンドフラワーにオーディオを転送した場合、「サウンドフラワーベッド」アプリが実際に開いている場合にのみ、オーディオを聞くことができます。あなたが右上のタスクバーに8脚のブロブがある場合、それは開いていることを知っています。このアイコンをクリックすると、健全な花のオプションが表示されます。
Chrome拡張機能を使用している場合は、Chrome tabCapture APIを使用して音声を録音できます。
chrome.tabCapture.capture({audio: true}, function(stream) {
var recorder = new MediaRecorder(stream);
[...]
});
残りは読者の練習として残されています。 MDNにはMediaRecorderの使用方法についてmore documentationがあります。
この質問が2013年に尋ねられたとき、chrome.tabCaptureもMediaRecorderも存在しませんでした。
私の頭の上から外れている(そしてこれが最初にグーグルになっている)、私はこれを行う方法を見つけることができません。また、大規模なセキュリティホールのように聞こえるので、ブラウザを急いでサポートすることはできません。 –
オーディオを聞く必要がありますか?代わりにネットワークリクエストを監視できますか?これはどのサイトでも、特定のサイトでも動作しますか?すべてのプラットフォームをターゲッティングしていますか、それとも1つだけですか? – Brad
私はストリーミングオーディオデータ(オンラインラジオショーから)を取得し、それをオーディオフィンガープリンティングサービスに送信したいと考えています。理想的にはどのサイトでも動作し、おそらくChromeだけを対象にして始めます。 – OneDimensionalmc