Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> ffmpeg Как получить информацию о файле?, если бинарный путь /usr/bin/ffmpeg ?
Strannik  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 26 дней
Карма: 0




Добрый день. На хостинге предоставляется ffmpeg. Бинарник находится здесь /usr/bin/ffmpeg. Как его использовать на php? искал инфу по нету, но не нашел нормальной...
К примеру мне нужно нужно получить информацию о времени воспроизведения файла. или 3-й кадр видео. как это сделать?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
vagrand  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2667
Пользователь №: 18145
На форуме: 7 лет, 5 месяцев, 16 дней
Карма: 84






--------------------
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 26 дней
Карма: 0




собственно говоря оттуда только что =)
выполнять нужно через exec ?

на сервере путь ffmpeg: /usr/bin/ffmpeg /usr/local/bin/ffmpeg /usr/share/ffmpeg /usr/share/man/man1/ffmpeg.1.gz

код
$videoInfo = exec('/usr/bin/ffmpeg -i /hsphere/local/home/c292729/testwork.ru/1/1.mp4');
var_dump($videoInfo);


не выполняется... выдает String(0) ""

почему?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 26 дней
Карма: 0




код:
$src = "/hsphere/local/home/c292729/testwork.ru/1/1.mp4";
$command = "/usr/bin/ffmpeg -i " . $src . " 2>&1";
shell_exec($command)


выдает следующее:


FFmpeg version 0.6.5, Copyright © 2000-2010 the FFmpeg developers
built on Jan 29 2012 23:56:18 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables' --enable-avfilter --enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/hsphere/local/home/c292729/testwork.ru/1/1.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
Duration: 00:03:24.12, start: 0.000000, bitrate: 449 kb/s
Stream #0.0(und): Video: h264, yuv420p, 640x360, 350 kb/s, 25 fps, 25 tbr, 50 tbn, 50 tbc
Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16, 95 kb/s
At least one output file must be specified




для конвертирования применял код:
shell_exec('/usr/bin/ffmpeg -i /hsphere/local/home/c292729/testwork.ru/1/1.ogg -s 640x480 -i /hsphere/local/home/c292729/testwork.ru/1/1.mp4');

но он не сработал...

подскажите как отсюда вывести Duration? как получить картинку из 10-го кадра и как конвертировать в формат ogg ?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
vagrand  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2667
Пользователь №: 18145
На форуме: 7 лет, 5 месяцев, 16 дней
Карма: 84




Цитата
подскажите как отсюда вывести Duration?


Ну так вот же вам строка:

Duration: 00:03:24.12, start: 0.000000, bitrate: 449 kb/s


берете в руки регулярные выражения и выдираете Duration.

Цитата
как получить картинку из 10-го кадра
Цитата
как конвертировать в формат ogg ?


--------------------
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 26 дней
Карма: 0




просто я по регуляркам не очень поэтому для меня и не просто это...
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
vagrand  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2667
Пользователь №: 18145
На форуме: 7 лет, 5 месяцев, 16 дней
Карма: 84




Strannik

Ну так изучайте регулярки и все будет хорошо.


--------------------
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 6 дней
Карма: 591




Цитата (Strannik @ 18.09.2012 - 13:05)
просто я по регуляркам не очень поэтому для меня и не просто это...

Какая проблема написать регулярку, под стандартный, консольный вывод? blink.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 26 дней
Карма: 0




Цитата (vagrand @ 18.09.2012 - 14:19)
Strannik

Ну так изучайте регулярки и все будет хорошо.


в этом и проблема)) учиться и еще раз учиться как говаривал один лысенький дядя...
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 26 дней
Карма: 0




получаем следующее (может быть кому-нибудь пригодится еще):


1) получаем время файла

ob_start();
passthru("ffmpeg-9260.exe -i \"". $videofile . "\" 2>&1");
$duration = ob_get_contents();
ob_end_clean();


preg_match('/Duration: (.*?),/', $duration, $matches);
$duration = $matches[1];
$duration_array = split(':', $duration);
$duration = $duration_array[0] * 3600 + $duration_array[1] * 60 + $duration_array[2];
$time = $duration * $percent / 100;
$time = intval($time/3600) . ":" . intval(($time-(intval($time/3600)*3600))/60) . ":" . sprintf("%01.3f", ($time-(intval($time/60)*60)));

2) получить изображение в виде кадра фильма:

ffmpeg -i video.avi -an -ss 00:01:30 -r 1 -vframes 1 -s 320Ч240 -y -f mjpeg screenshot.jpg

3) конвертировать в формат .ogg
    
a)ffmpeg -an -deinterlace -s 400Ч300 -r 20.00 -i CapeCodMarsh.avi -vcodec rawvideo -pix_fmt yuv420p -f rawvideo – | ffmpeg -an -f rawvideo -s 400Ч300 -r 20.00 -i – -f yuv4mpegpipe – | libtheora-1.0/lt-encoder_example –video-rate-target 512k – -o tmp.ogv

b)ffmpeg -y -i CapeCodMarsh.avi -vn -acodec libvorbis -ac 2 -ab 128k -ar 44100 audio.ogg


4) как получить время файла в буфере?


var v = document.getElementById('file_id');
var r = v.buffered.end(0);


Спасибо всем за помощь=)
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 6 дней
Карма: 591




Strannik
а зачем эти пляски с буферизацией? Не проще shell_exec?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 26 дней
Карма: 0




можно и так. я написал на скорую руку) вариантов много.
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса