Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать процент выполнения задачи ffmpeg? perl v5.14, OpenSUSE 
V
    Опции темы
tishaishii
Дата 16.7.2012, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 0
Всего: 8



Нужно узнать процент выполнения задачи ffmpeg.

Вот команда: 
Код
use IPC::Open3 ;

my $pid = open3( my $inp , my  $out , my $err , << "." ) ;
"/usr/bin/ffmpeg" -y -i "/tmp/WsvzWH8FDY.avi" -pass 1 -threads 4 -vcodec libx264 -an -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -framerate 29.97 "/tmp/eFo3VDG7LR.avi"
.

waitpid ( $pid , 0 );

ffmpeg не выполняется. Жалуется на то, что не может открыть поток для записи.

В начале выводится Duration в миллисекундах.
Считаю: mm = (ЧЧ*60*60+ММ*60+СС) * 100 + mm
Строчка статуса там остаётся одной и той же, только перезаписывается. Читать её в STDOUT не получается.
ffmpeg пишет логи. Там нет упомянаний о времени, но есть информация о текущем фрэйме. Перед обработкой информация о текущем фрэйме не выводится.

Как узнать процент выполнения задачи ffmpeg?
PM MAIL ICQ Skype   Вверх
Pfailed
Дата 16.7.2012, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 2
Всего: 39



Цитата

Строчка статуса там остаётся одной и той же, только перезаписывается. Читать её в STDOUT не получается.


Почему не получается?


--------------------
PM MAIL   Вверх
tishaishii
Дата 18.7.2012, 06:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 0
Всего: 8



А вот бог его знает как там происходит с потоками.
Оказалось проще с аргументами -loglevel, -report и слушанием лог-файла с помощью IPC::open3.
Считать проценты по текущему времени кадра.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1242 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.