在Mac OS X上以自己的容器格式播放视频文件的方案

发布于 2024-09-25 10:48:22 字数 451 浏览 10 评论 0原文

我计划编写一个应用程序(C/C++/Objective-C) 以自己的(私有)容器格式播放媒体文件。这些文件将 包含:多个视频流,由视频编解码器编码(例如 据推测,XVid 或 H264 组件能够解码 系统中存在视频格式);多个音频 某些压缩格式的流(假设解码 将由系统组件或自己的​​代码执行)。

因此,似乎需要实现以下方案:

1)实现容器解复用器(可能采用媒体处理程序的形式 成分)。

2)将视频帧传递给视频解码器组件,并混合 解压缩帧(使用一些自己的规则)。

3) 将音频数据传递给音频解码器组件,或者解压 通过自己的代码进行音频,并混合解码的音频数据。

4) 将视频帧渲染到窗口。

5) 将音频数据传递到选定的音频板。

任何人都可以为上述任何阶段提供提示,即: 我应该使用的工具包;有用的样本;可能是以下名称 要使用的功能;可能是对该方案的改进,......

I am planning to write an application (C/C++/Objective-C) that will
play media files in own (private) container format. The files will
contain: multiple video streams, encoded by a video codec (like
XVid or H264, it is supposed, that components capable of decoding
the viideo formats are present in the system); multiple audio
streams in some compressed formats (it is supposed, that decoding
will be performed by a system component or by own code).

So, it seems it is required to implement the following scheme:

1) Implement container demuxer (may be in the form of media handler
component).

2) Pass video frames to a video decoder component, and mix
decompressed frames (using some own rules).

3) Pass audio data to an audio decoder component, or decompress the
audio by own code, and mix decoded audio data.

4) Render video frames to a window.

5) Pass audio data to a selected audio board.

Could anybody provide tips to any of the above stages, that is:
toolkits, that I should use; useful samples; may be names of
functions to be used; may be improvements to the scheme,....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷了相思 2024-10-02 10:48:22

我知道我已经很晚了,所以您可能不再需要这个,但我只是想提一下,正确的方法是编写一个 QuickTime 组件。
虽然它是相当老派的,但它与苹果用来支持新格式和编解码器的方式相同。

将 Perian 项目视为一个方向点。

最好的

I know I am quite late, so you might not need this anymore, but I just wanted to mention, that the right way to do it is to write a QuickTime component.
Although it is pretty old school, it's the same way Apple uses to support new formats and codecs.

Look at the Perian project as an orientation point.

Best

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文