live555传输h264编码

BruceLin2008 2011-10-25 05:51:03
问题是这样的:

if (ret == RET_SUCCESS) {
fFrameSize = av_data.size + offset;
if (fFrameSize > fMaxSize) {
printf("Frame Truncated\n");
fNumTruncatedBytes = fFrameSize - fMaxSize;
fFrameSize = fMaxSize;
}
else {
fNumTruncatedBytes = 0;
}
memcpy(fTo+offset, av_data.ptr, fFrameSize-offset);

if (SerialLock > 0) {
GetAVData(cmd[AV_UNLOCK_MP4], SerialLock, &av_data);
}
SerialLock = SerialBook;

// Note the timestamp and size:
gettimeofday(&fPresentationTime, NULL);
SerialBook++;
return 1;
}


不知道总是进入printf("Frame Truncated\n");

fMaxSize这个成员变量又在很多类里,一直里不清楚live555类的调用关系。
不知道有没有遇到同样问题的朋友。用的是H264VideoStreamFramer类。
...全文
211 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
BruceLin2008 2011-10-25
  • 打赏
  • 举报
回复
Frame Truncated,应该就是帧数据超过分配的缓存。
现在视频基本是延迟严重,而且有时候出现马赛克,或者是一部分图像编程灰色。。。
上面代码是实现FrameSource基类,并获取h264帧数据的代码。

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧