gpt4 book ai didi

iOS 中的 FFmpeg、videotoolbox 和 avplayer

转载 作者:行者123 更新时间:2023-12-04 22:49:28 31 4
gpt4 key购买 nike

我有一个问题,这些东西是如何联系起来的,它们到底是做什么的。

仅供引用,我对视频播放器和编码和解码有一些经验。

在我的工作中,我处理来自服务器的 udp 流,并使用 ffmpeg 对其进行解码并使用 openGL 进行绘制。并且还使用 ffmpeg 进行视频播放。

这些问题...

1.是否只有ffmpeg可以解码UDP流(使用来自服务器的ffmpeg编码)?

我发现了一些关于 的有用信息视频工具箱它可以在 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?

请理解我糟糕的英语,任何答案将不胜感激。

谢谢。

最佳答案

1.是否只有ffmpeg可以解码UDP流(使用来自服务器的ffmpeg编码)?

我不这么认为,因为 videotoolbox也可以这样做。

2.如果可以用videotoolbox解码(我的意思是如果videotoolbox可以替代ffmpeg),那么ffmpeg中的videotoolbox源代码是什么?为什么它在那里?

有一个解决方案可以使用 ffmpegtcp socket 读取数据并将其转至videotoolbox .

此解决方案避免了仅使用 ffmpeg 时的高 CPU 使用率。并且还避免了仅使用vdeotoolbox的一些错误例如从套接字读取数据的延迟。

3.如果videotoolbox可以解码流媒体,这是否也可以在本地解码H264?还是只能流式传输?
videotoolbox可以播放本地和流媒体。 (如我错了请纠正我)

4. FFmpeg 只使用 CPU 进行解码(软件解码器)还是 hwaccel 也?

是的,ffmpeg仅使用 CPU,即 software codecvideotoolboxhardware codec .

关于iOS 中的 FFmpeg、videotoolbox 和 avplayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38250342/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com