Подтвердить что ты не робот

Java: руководство по написанию пользовательского видеокодека

У меня довольно странный вопрос, но вот он:

Возможно ли, и есть ли какие-либо руководства для написания пользовательского видеокодека на С++ или Java?

Здесь странная часть: мне не нужно нырять в те тонны информации об аудио и кино, которые я не понимаю. То, что мне действительно нужно, - это технический материал о том, как создать программный уровень между проигрывателем фильмов и файлом фильма.

Вот почему: я хотел бы создать библиотеку или, в конечном счете, 2 функции - encode/decode - в С++/Java, которая будет принимать двоичный вход RAW любого типа файла и кодировать/декодировать его в соответствии с заданным паролем или что-то вроде того. Затем мне нужно поместить эту обработку между проигрывателем фильмов и файлом фильма. Конечным результатом будет файл mp4/avi/mpeg/wmv (на самом деле неважно) с паролем, который может быть воспроизведен только с этим "кодеком". Внутренняя логика кодека сейчас не проблема.

Как я себе представляю, это как поток, игрок в кино запрашивает файл и вызывает мою функцию encode(), он принимает фрагмент файла, декодирует его (он был предварительно закодирован) и возвращает правильные байты в wmv/mp4 и т.д.

Возможно ли это и как?

4b9b3361

Ответ 1

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

API обычно прост. Для кодирования вы отправляете блоки данных изображения (фреймы) кодеру, и он генерирует поток битов. Вы можете нести ответственность за написание контейнера (формат файла) самостоятельно. Для декодирования вы передаете биты, и кадры выходят.

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

MediaTool Введение - это простой интерфейс прикладного программирования (API) для декодирования, кодирования и модификации видео в Java: http://wiki.xuggle.com/MediaTool_Introduction#How%5FTo%5FTake%5FSnapshots%5FOf%5FYour%5FDesktop

Учебное пособие по работе с Java Media: http://wwwinfo.deis.unical.it/fortino/teaching/gdmi0708/materiale/jmf2_0-guide.pdf

возможно поможет тебе!