programmer
С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760
|
Добавлено: 10/05/09 в 18:29 |
еще один вопрос без ответа.
возможно ли как то рассчитать периодичность кейфремов в ролике flv ?
или в контейнере mpeg-2 ?
с целью, если таковую периодичность каким-то образом можно детектить, и соответственно извлечь эти кадры
|
|
|
|
Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 10/05/09 в 20:41 |
Чем извлечь?
Я не знаю способа извлечь только keyframes из видео при помощи ffmpeg с командной строки, но у него есть интерфейсы с почти всеми языками - включая php и perl. При помощи несложного скрипта можно промотать до следующего кейфрэйма
Вот тут - документация на ffmpeg-php, где в самом внизу описывается функция getNextKeyFrame() - как раз то, что тебе нужно. Есть примеры и, чтобы написать что-то в духе "открыли мувик-перебрали все кейфреймы и сохранили", не надо быть ни Джоном Кармаком, ни даже Сисхальтом (шучу)
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760
|
Добавлено: 10/05/09 в 20:57 |
ага
это я уже нашел
мешает то что метод возвращает объект GD
а требование в ТЗ - работа с IM
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760
|
Добавлено: 10/05/09 в 20:59 |
кроме того подозреваю для 20 минутного ролика это будет ресурсоемко
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760
|
Добавлено: 10/05/09 в 21:00 |
и на входе будут всевозможные форматы - не только flv
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760
|
Добавлено: 10/05/09 в 21:01 |
а примеры если есть, посмотреть было бы интересно
|
|
|
|
Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 10/05/09 в 21:16 |
Скачай и посмотри, в чем проблема? Там все примеры в дистрибутиве.
Ресурсоемко... так, как ты описал - да, есть немного, но не думаю, что заметно - по кейфрэймам перемотка как раз быстро идет. Быстрее ты все равно не управишься. Вот если по произвольным, с доступом в нужную точку времени - вот тут как раз ffmpeg-php очень плохо себя ведет. Можно оптимизировать "процесс", но тогда нужно писать на C, с доступом к ffmpeg API, я, например, переписывал ffmpeg-php, чтобы он под конкретную задачу в разы быстрее работал (генерация тумбнашек из кучи видео). Ты программер, все в твоих руках. Форматы - все, которые ffmpeg поддерживает, все твои. Если нужен IM - ну, дописывай ffmpeg-php, тут, как бы, вариантов мало. Возможно на perl с его интерфейсом с ffmpeg более по-человечески все написано (как обычно), но не пробовал, врать не буду.
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760
|
Добавлено: 10/05/09 в 21:52 |
спс, попробую
|
|
|
|
С нами с 26.02.03
Сообщения: 2366
Рейтинг: 987
|
Добавлено: 11/05/09 в 13:11 |
Dr.Syshalt писал: | я, например, переписывал ffmpeg-php, чтобы он под конкретную задачу в разы быстрее работал |
А смысл заниматься подобным если можно напрямую ffmpeg (через exec) команды передавать.
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760
|
Добавлено: 11/05/09 в 13:20 |
смысл в узкоспециальных задачках, получается
|
|
|
|
Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 11/05/09 в 20:03 |
Cibtor писал: | А смысл заниматься подобным если можно напрямую ffmpeg (через exec) команды передавать. |
Смысл в том, что у ffmpeg-lib API куда богаче, чем командная строка ffmpeg. И можно добиться того, чего не добьешься через командную строку.
Вот в этом самом топике только что обсуждалось то, что при помощи командной строки нельзя выбрать только ключевые фреймы. Кроме того, позиционирование можно сделать куда более быстрым (слегка в ущерб точности, но для генерации тумб - непринципиально). И кучу всего можно еще сделать, чего не сделаешь через командную строку.
|
|
|
|