Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Редактировать AVI файл


Автор: v2v 9.9.2008, 23:46
 Есть ли в java какие-то API позволяющие производить редактирование видео файлов (напр. AVI).
Идеальный случай - когда я могу выбрать нужный мне кадр и изменить указанные мною пиксели. Хороший вариант: когда я смог бы разбить видео на массив рисунков (кадров) и потом собрать видео из указанных рисунков.

 На данную тему нашёл несколько упоминаний про Java Media Framework (JMF). Кто то сталкивался с ним? Что он может ? Может ли он то что я описал в первом абзаце?

Автор: Vasay 10.9.2008, 02:20
v2v, 

Проблема в том, что avi может быть закодирована разными кодеками.

На Java я с этим не работал, а вот на cи и asm....

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

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

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

я так быстренько пробежал по инету:

Кроме JMF посмотри: http://www.humatic.de/htools/dsj.htm


Хочу заметить, что раскодирование видео, задача намного более простая, чем его кодирование. И я сомневаюсь, что есть либа на java, дающая возможность взять кусок файла, изменить его и вставить обратно.

Автор: v2v 10.9.2008, 08:04
Vasay, спасибо за обзор.
На самом деле для меня не так уж сильно важен формат файла. На первых этапах это может быть и какое то не сжатое кодеками - например? Есть ли принципиальные отличия в работе с кодированным  / не закодированным кроме промежуточных этапом кодирование, раскодирования?

Цитата(Vasay @  10.9.2008,  02:20 Найти цитируемый пост)
так как видеоинформация хранится весьма интересно - она не хранится кадр за кадром, может хранится один кадр, а потом только отличие следующего от предыдущего в той или оной степени (предсказания, вектора движения...)

Это актуально для всех видео форматов или специфика avi? Если я изменю опорный кадр в каком то видео файле формата 1, а потом закодирую/раскодирую его в формат 2, на сколько сильно изменяться мои правки? Останутся ли они?

Автор: SoulKeeper 10.9.2008, 12:18
Советую посмотреть в сторону ffmpeg

Автор: Vasay 10.9.2008, 12:20
v2v, 

Цитата

На первых этапах это может быть и какое то не сжатое кодеками - например?


Обычно, несжатое видео хранят в формате http://ru.wikipedia.org/wiki/YUV.
Так же большинство реализаций кодеков требует YUV на входе кодера, и отдает YUV на выходе декодера.


Цитата

на сколько сильно изменяться мои правки? Останутся ли они? 


Все зависит от того, что ты меняешь, и какой кодек используется.

Если интересно, могу кинуть обзор формата H.264, буквально несколько страниц в pdf на английском. (Могу и всю спецификацию + исходники референс реализации на сях).

Добавлено через 3 минуты и 27 секунд
Что-то в русской wiki чушь про yuv. Смотри английскую : http://en.wikipedia.org/wiki/YUV

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)