2013-07-07 2 views
0

Привет, друзья & друзья SO!ffmpeg: 1 манипуляция кадра по запросу

Нам нужно создать небольшое приложение для случайного кадра из видео и применить к нему некоторые изменения в реальном времени.

Это должно быть сделано в режиме реального времени,, и для этого мы не будем возражать, чтобы создать начальную задержку, прежде чем видео начнет работать. Итак, давайте предположим мы имеем в общей сложности 6 секунд времени предварительной загрузки, для того, чтобы:

1) extract a keyframe. 
2) create an image with it. 
3) manipulate the image. 
4) replace the original keyframe with the new one. 

Точка (3) предыдущего алгоритма уже решена с использованием GD в качестве модуля PHP. Однако для этого нам нужно будет найти решение для остальной части процедуры.

Пожалуйста, если кто-то доступен, чтобы помочь нам в этом, не стесняйтесь обращаться ко мне.

Заранее спасибо; Chris C. Russo

+1

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

+0

Звучит здорово, может быть, есть фрагмент кода или POC для этого, что вы могли бы предоставить? Я бы хотел увидеть больше. Благодаря! –

+0

Это довольно большая проблема, что я действительно не знаю, с чего начать, и я не думаю, что есть какой-нибудь образец кода или учебник для того, чтобы делать что-то подобное. На мой взгляд, идеальным решением будет библиотека более высокого уровня, которая позволит вам делать минималистичную модификацию сжатого видео на месте с помощью библиотек ffmpeg, но это был бы огромный проект сам по себе. Если вы уже не эксперт в этом (в этом случае вам не нужно будет спрашивать), вам, вероятно, нужно нанять кого-то, кто является экспертом ffmpeg и ищет такую ​​работу ... –

ответ

0

Это довольно сложная проблема, которая не может быть решена путем простой замены ключевого кадра измененным изображением. Для этого необходимо решить следующие проблемы (по крайней мере):

  • Повторно кодировать все кадры, которые зависят от ключевого кадра. В противном случае видео будет повреждено.
  • Соображения формата файла. Измененный ключевой кадр и последующие кадры, вероятно, будут иметь разный размер после кодирования (по сравнению с исходными закодированными данными). Хранение их в выходном файле непросто
  • Timestamp - информация о временной отметке для этих измененных кадров должна быть сохранена, иначе в выходном файле будут проблемы с синхронизацией аудио-видео.

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

+0

Mr krthkr, ваш ответ был на самом деле очень ясно. Если я могу спросить, хотели бы вы предложить нам решение? У нас нет огромного бюджета, но мы все еще можем разобраться! Пожалуйста, дайте мне знать, вы можете написать мне по электронной почте в chris (at) calcsec (dot) com, все вместе. –

+0

Привет, Крис, я определенно заинтригован и хотел бы узнать больше о проблеме, которую вы пытаетесь решить. Спасибо, что поделились электронной почтой, и я свяжусь с вами сегодня. – krthkr

Смежные вопросы