Java:编写自定义视频编解码器的指南

Ton*_*nov 14 c++ java codec video-player

我有一个非常奇怪的问题,但这里是:

是否有可能,是否有任何用C++或Java编写自定义视频编解码器的指南?

这是奇怪的部分:我不需要深入研究那些我不理解的有关音频和电影的信息.我真正需要的是如何在电影播放器​​和电影文件之间制作软件层的技术背景.

原因如下:我想在C++/Java中创建一个库或最终的2个函数 - 编码/解码 - 它将采用任何类型文件的RAW二进制输入,并根据给定的密码或类似的东西对其进行编码/解码.然后我需要在电影播放器​​和电影文件之间进行此处理.最终结果将是受密码保护的mp4/avi/mpeg/wmv(并不重要)文件,只能使用此"编解码器"播放.编解码器的内部逻辑现在不是问题.

我怎么想象它就像一个流,电影播放器​​请求文件并调用我的encode()函数,它需要一大块文件,解码它(它已经被编码)并返回wmv/mp4等格式的正确字节.

这有可能吗?怎么样?

Eln*_*naz 9

编解码器通常采用图像块和上下文信息,对数据进行变换和量化,应用预测,然后使用任意数量的编码方案中的一种对所得到的错误流进行编码.

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

也许可以帮助你!