명령줄을 찾고 싶거나스크립트그러면 나에게 말해줄 텐데HTML5 플레이어브라우저(firefox 또는 chromium)에서 실행할지 여부입니다.
예를 들어 Flash Player가 브라우저에서 실행되고 있는지 확인하려면 다음 명령을 사용합니다.
pgrep -lfc ".*((c|C)hrome|chromium|firefox|).*flashp.*"
답변1
이 문제는 (당신이 시도하는 것처럼) 명령줄을 사용하여 반드시 해결될 수는 없습니다. 분기가 발생하지 않고 플레이어가 페이지를 처리하는 프로세스 내에서 실행 중이므로 검사가 불가능합니다 ps
.
하지만 해당 솔루션은 웹사이트 소스코드를 통해 접근할 수 있습니다. 다음 해결 방법이 효과가 있을 수 있습니다.
$ curl http://example.com/ | grep '<video'
video
웹사이트는 플레이어를 배치하기 위해 스크립트를 사용할 수 있습니다. 라이브 웹사이트 코드에 액세스하고 거기에서 태그를 검색하려면 Firebug 또는 WebKit Inspector를 사용해야 합니다 .
YouTube의 경우 소스 코드에서 대체 솔루션을 찾고 있지만 "html5": true
YouTube의 HTML5에서는 인증이 필요하므로 curl
.
답변2
HTML5 지원은 일반적으로 브라우저에 직접 내장되어 있지만 Adobe Flash는 플러그인이라는 점을 감안할 때 이것이 어떻게 가능한지 모르겠습니다. "chrome:plugins" 페이지를 탐색하면 Chrome에 어떤 플러그인이 있는지 확인할 수 있습니다.
예를 들어 내 Chrome 브라우저에서 Adobe 플러그인을 볼 수 있습니다.
반면 HTML5에는 해당 플러그인이 없으므로 Chrome에서 이러한 콘텐츠를 처리할 때 프로세스를 포크하는 것을 볼 수 없습니다.
답변3
직접적으로 요청한 작업을 수행하지는 않지만 사운드 감지와 결합된 "wmctrl -l" 파이프에서 잠재적인 HTML5/플래시 플레이어 사이트 이름을 검색하면 동일한 효과(실제로 더 넓은 범위)를 얻을 수 있습니다. .
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