web-dev-qa-db-ja.com

HTML5プレーヤーがブラウザで実行されているかどうかを確認するにはどうすればよいですか?

HTML5 player が実行されているかどうかを示すコマンドラインまたはscriptを見つけたいブラウザ(Firefoxまたはクロム)。

たとえば、Flashプレーヤーがブラウザで実行されているかどうかを確認するには、次のコマンドを使用します。

pgrep -lfc ".*((c|C)hrome|chromium|firefox|).*flashp.*"
3
Radu Rădeanu

HTML5のサポートは通常ブラウザに直接組み込まれているのに対し、Adobe Flashはプラグインであるため、これがどのように実現可能かはわかりません。 「chrome:plugins」ページを参照すると、Chromeでプラグインとは何かを確認できます。

たとえば、私のChromeブラウザからAdobeプラグインを見ることができます。

ss of plugins

一方、HTML5には対応するプラグインがないため、このタイプのコンテンツを処理しているときに、プロセスがChromeからフォークされることはありません。

2
slm

この質問は、コマンドラインを使用して必ずしも解決できるとは限りません(やりたいようです)。フォークは発生せず、プレーヤーはこの正確なWebページを処理するプロセス内で実行されるため、psをチェックできません。

ただし、このソリューションには、Webサイトのソースコードを使用してアクセスできます。次の解決策が機能する可能性があります。

$ curl http://example.com/ | grep '<video'

Webサイトはスクリプトを使用してプレーヤーを配置している可能性があり、FirebugまたはWebKit Inspectorを使用してライブWebサイトコードにアクセスし、そこでvideoタグを検索する必要があることに注意してください。

また、YouTubeの場合、代替ソリューションはソースコードで"html5": trueを探しますが、YouTubeのHTML5は認証を必要とし、これはcurlでは困難です。

3
Chris Warrick

求められていることを直接達成するわけではありませんが、音の検出と組み合わせて、「wmctrl -l」のパイプで潜在的なHTML5/flashプレーヤーのサイト名をgrepすることで、おそらく同じ効果(実際には範囲が広い)の何かを達成できます。 。

if wmctrl -l | grep -i "youtube\|vimeo\|etc" && \
grep RUNNING /proc/asound/card*/pcm*/sub*/status ; then 
echo "some media-site is possibly playing something. 
At least the OS is playing something and some video
site is on the top tab on some browser" ; 
else
echo "there may well be some HTML video going on 
in some browser, but it's either not on the top tab
or not playing audio, so..."
fi
1
Ronald Tdump