我有一个问题,这些事情是如何联系起来的,它们到底是做什么的。
FYI,我有一些视频播放器和编解码方面的经验。
在我的工作中,我处理来自服务器的udp流,并使用ffmpeg进行处理,并对其进行解码并使用openGL绘制它。同时也使用ffmpeg作为视频播放器。
这些是问题..。
1.只有ffmpeg才能解码UDP流(从服务器用ffmpeg编码)?。
我发现了一些关于视频工具箱的有用信息,它可以在iOS中通过硬件加速来解码流。那么,我也可以用视频工具箱解码服务器上的流吗?
2.如果可以用视频工具箱解码(我是说如果视频工具箱可以代替ffmpeg),那么ffmpeg中的视频工具箱源代码是什么?为什么会在那里?
在我的解码器中,我从流中生成AVCodecContext,它有hwaccel和hwaccel_context字段,它们都设置为空。我认为这个视频工具箱是一种API,可以帮助使用iOS的hwaccel。但现在看来不是真的..。
3.如果视频工具箱可以解码流,这是否也能在本地对H264进行解码?还是只可能流?
AVPlayer是播放视频的好工具,但是如果视频工具箱可以代替这个AVPlayer,那么有什么好处呢?还是不可能?
4. FFmpeg只使用CPU进行解码(软件解码器)或hwaccel也?。
当我与ffmpeg播放器播放视频时,CPU使用率超过100%,这是否意味着这个ffmpeg只使用软件解码器?或者有一种使用hwaccel的方法?
请理解我糟糕的英语,如有任何答案,我们将不胜感激。
谢谢。
发布于 2017-01-09 07:52:23
1.只有ffmpeg才能解码UDP流(从服务器用ffmpeg编码)?。
我不这么认为,因为videotoolbox也能做到这一点。
2.如果可以用视频工具箱解码(我是说如果视频工具箱可以代替ffmpeg),那么ffmpeg中的视频工具箱源代码是什么?为什么会在那里?
有一种解决方案可以使用ffmpeg从tcp socket读取数据并将其传输到videotoolbox。
该解决方案避免了仅使用ffmpeg时占用较高的CPU,也避免了仅使用vdeotoolbox时出现的一些错误,如从套接字读取数据的延迟。
3.如果视频工具箱可以解码流,这是否也能在本地对H264进行解码?还是只可能流?
videotoolbox可以同时播放本地和流媒体。(如果我错了,请纠正我)
4. FFmpeg只使用CPU进行解码(软件解码器)或hwaccel也?。
是的,ffmpeg只使用CPU,这是software codec,而videotoolbox是hardware codec。
https://stackoverflow.com/questions/38250342
复制相似问题