Определение момента завершения буферизации видео

На днях я писал этот небольшой скрипт. Это небольшая программа, которая в основном находит флэш-видео, запущенные в браузере, и загружает их. код выглядит примерно так ..

код:

path=$(stat -c %N /proc/*/fd/* 2>&1|awk -F[\`\'] '/lash/{print$2}')
pid=$(echo $path | cut -d / -f3)
name=$( ps --no-header -o comm -p $pid)
mid=$(wmctrl -l | grep -i $name)
filename=`echo $mid | cut -c 21-$(($(echo $mid | wc -c)-16))`
cp $path /home/Downloads/"$filename.avi"

это всего лишь ЧАСТЬ кода. Первая строка кода получает путь к удаленному временному файлу. Вторая строка получает pid. В-третьих, имя процесса. В-четвертых, идентификатор окна и заголовок окна. Пятая строка управляет выводом wmctrl для извлечения имени воспроизводимого видео (большую часть времени имя видео включается в заголовок окна ... например, youtube )

Теперь, когда этот сценарий запускается после буферизации всего видео, он работает безупречно (этот сценарий выше работает для Google Chrome) .. и копирует файл из папки / proc // fd в папку загрузок и изменяет его имя к извлеченному имени файла.

А теперь перейдем к хитрости. Я хочу автоматизировать этот код, например, чтобы запустить этот код, теперь мне нужно дождаться завершения буферизации видео (скажем, YouTube).

Я хочу, чтобы этот сценарий определял, когда видео закончила буферизацию, а затем продолжал копирование без необходимости вручную запускать его в конце видео.

Есть ли способ узнать, когда видео завершила буферизацию?

Я новичок.Любые предложения по улучшению кода приветствуются.

6
задан Phani Kumar 22 December 2011 в 16:25
поделиться