【发布时间】:2016-11-10 01:25:52
【问题描述】:
我有一个问题,这些东西是如何联系在一起的,它们究竟是做什么的。
仅供参考,我对视频播放器和编码和解码有一些经验。
在我的工作中,我处理来自服务器的 udp 流,并使用 ffmpeg 对其进行解码并使用 openGL 进行绘制。并且还使用 ffmpeg 进行视频播放。
这些是问题...
1.是否只有 ffmpeg 可以解码 UDP 流(使用来自服务器的 ffmpeg 编码)?
我发现了一些关于 videotoolbox 的有用信息,它可以在 iOS 中通过硬件加速解码流。那么我也可以使用 videotoolbox 解码来自服务器的流吗?
2。如果可以使用 videotoolbox 进行解码(我的意思是如果 videotoolbox 可以替代 ffmpeg),那么 ffmpeg 中的 videotoolbox 源代码是什么?为什么会在那里?
在我的解码器中,我从流媒体中制作了 AVCodecContext,它有 hwaccel 和 hwaccel_context 字段,它们都设置为 null。我认为这个 videotoolbox 是一种可以帮助 ffmpeg 使用 iOS 的 hwaccel 的 API。但现在看来不是真的……
3.如果 videotoolbox 可以解码流,这是否也可以在本地解码 H264?还是只能流式传输?
AVPlayer 是一个很好的播放视频的工具,但是如果 videotoolbox 可以替代这个 AVPlayer,那有什么好处呢?还是不可能?
4. FFmpeg 仅使用 CPU 进行解码(软件解码器)或 hwaccel 也?
当我使用 ffmpeg 播放器播放视频时,CPU 使用率超过 100%,这是否意味着该 ffmpeg 仅使用软件解码器?还是有办法使用hwaccel?
请理解我蹩脚的英语,我们将不胜感激。
谢谢。
【问题讨论】:
-
关于硬件 && ffmpeg ,见trac.ffmpeg.org/wiki/HWAccelIntro
标签: ffmpeg avplayer decoding decoder