gpt4 book ai didi

iphone - FFmpeg解码H264

转载 作者:行者123 更新时间:2023-12-03 20:53:38 25 4
gpt4 key购买 nike

我正在 iPhone 上使用 FFmpeg 解码 H264 流。我知道 H264 流是有效的,并且 SPS/PPS 是正确的,因为 VLC、Quicktime、Flash 都正确解码了流。这张图片最能说明我在 iPhone 上遇到的问题。

enter image description here

就好像正在绘制运动矢量一样。这张照片是在图像中有很多运动时拍摄的。如果场景是静态的,那么角落里就会有点。这种情况总是发生在预测框架中。 block 状颜色也是一个问题。

我尝试了 FFmpeg 的各种build设置,例如关闭优化、asm、neon 和许多其他组合。似乎没有什么可以改变解码器的行为。我还尝试过 Works with HTML、Love and Peace 版本,以及最新的 GIT 源代码。是否可能缺少某个设置,或者可能我无意中启用了解码器中的某些调试设置。

编辑

我正在使用 sws_scale 将图像转换为 RGBA。我尝试了各种不同的像素格式,但得到了相同的结果。

sws_scale(convertCtx, (const uint8_t**)srcFrame->data, srcFrame->linesize, 0, codecCtx->height, dstFrame->data, dstFrame->linesize);

在设置编解码器上下文时,我使用 PIX_FMT_YUV420P 作为源格式。

最佳答案

您看到的是 ffmpeg 的运动矢量可视化。确保未设置以下任何调试标志:

avctx->debug & FF_DEBUG_VIS_QP
avctx->debug & FF_DEBUG_VIS_MB_TYPE
avctx->debug_mv

此外,请记住,与使用硬件解码器相比,在 iOS 上使用 CPU 解码 H264 视频会慢得多且节能。

关于iphone - FFmpeg解码H264,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7548055/

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