Java:编写自定义视频编解码器的指南
Java: Guide to write a custom video codec
我有一个很奇怪的问题,但这里是:
是否可能,是否有任何在C++或Java中编写自定义视频编解码器的指南?
奇怪的是:我不需要深入研究那些我不理解的关于音频和电影的大量信息。 我真正需要的是如何在电影播放器和电影文件之间制作软件层背后的技术知识。
原因如下:我想创建一个库或最终 2 个函数 - 编码/解码 - 在 C++/Java 中,它将接受任何类型的文件的 RAW 二进制输入并根据给定的密码或类似的东西对其进行编码/解码。然后,我需要将此处理放在电影播放器和电影文件之间。最终结果将是一个受密码保护的mp4/avi/mpeg/wmv(无关紧要)文件,只能使用此"编解码器"播放。编解码器的内部逻辑现在不是问题。
我想象它就像一个流,电影播放器请求文件并调用我的encode()
函数,它获取文件的一部分,对其进行解码(它之前已被编码)并以 wmv/mp4 等格式返回正确的字节。
这是否可能以及如何?
编解码器通常获取图像块和上下文信息,转换和量化数据,应用预测,然后使用任意数量的编码方案之一对生成的错误流进行编码。
API 通常很简单。对于编码,将图像数据块(帧)发送到编码器,它会生成位流。您可能负责自己编写容器(文件格式)。对于解码,您流式传输比特并输出帧。
这些绝对没有标准 - 编解码器中使用的技术有时是标准化的,但确切的接口不是。
MediaTool Introduction是一个简单的应用程序编程接口(API),用于在Java中解码,编码和修改视频:http://wiki.xuggle.com/MediaTool_Introduction#How%5FTo%5FTake%5FSnapshots%5FOf%5FYour%5FDesktop
Java 媒体框架工作教程:http://wwwinfo.deis.unical.it/fortino/teaching/gdmi0708/materiale/jmf2_0-guide.pdf
也许对你有帮助!
- h264_cuvid编解码器未找到
- C++17 编解码器在将标准::字符串转换为标准::字符串时抛出"bad conversion"
- 如何使用 ffmpeg 将 3840 nb_samples编码为请求 1024 的编解码器
- FFMPEG:为什么当我调用av_codec_next()时,我所有的编解码器都没有显示出来
- OpenCV 检查计算机上是否安装了视频编解码器 (C++)
- OpenCV:FFMPEG:编解码器 ID 12 和格式 'mp4 / MP4 不支持标记
- 带有 H264 编解码器的 libav 错误消息。"非严格单调PTS"
- 为什么编解码器X264/X265忽略了输入框架的PT和DTS
- 如何修复"UnicodeDecodeError:"utf-8"编解码器无法解码字节时使用Python C扩展?
- C++ avformat_open_input返回空编解码器、宽度和高度
- 如何为 OpenCV 的视频编写器动态选择可用的编解码器?
- 将FFMPEG命令行转换为C 编解码器设置
- codecvt_utf8<wchar_t>被转换为本机编解码器<wchar_t,字符>
- 寻求使用 FFmpeg 在 mp4 容器中 h264 编解码器的视频帧.数据包 pts 始终为 0
- C++ 无法实例化编解码器以在 txt 文件中写入 unicode
- 警告:找不到编解码器参数(././modules/higgui/src/cap_ffmpeg_impl.hpp:540)
- 开源或低成本的跨平台视频编解码器库,可用于商业目的,并支持RGBA格式
- Java:编写自定义视频编解码器的指南
- 视频编解码器的H264与opencv
- 编写图像到视频文件独立安装编解码器