live555摄像头视频直播的问题!

cywin 2011-10-28 06:16:44

小弟最近在搞基于live555的摄像头实时直播。采用T264压缩。采用从写一个服务类继承了framedsource。调用下面函数之后能够保存到.264的文件。但用VLC没法播放。而且设置fFrameSize 之后会产生一个错误退出。
谢谢各位。请帮忙分析下!!!!!
void getNextFrame1 ()
{
//帧缓存出列
if (ioctl(video_fd, VIDIOC_DQBUF, &v4lbuf) == -1)
{
printf("error\n");
// return;
}
YUV422To420((unsigned char *)videobuf[v4lbuf.index].start, buf, WIDTH, HEIGTH);

len = T264_encode(t, buf, dst, size);

FILE *out_file = fopen(out_path, "ab");
if (fwrite(dst, len, 1, out_file) < 0)
printf("cannot write 264 file.\n");
//--cywin add
if (ioctl(video_fd, VIDIOC_QBUF, &v4lbuf) == -1) return ;
printf("len = %d\n",len);
printf("fMaxSize = %d\n", fMaxSize);

fFrameSize = len;
if (fFrameSize > fMaxSize) {
fNumTruncatedBytes = fFrameSize - fMaxSize;
fFrameSize = fMaxSize;
}
else {
fNumTruncatedBytes = 0;
}

// memmove(fTo, dst, len);
memcpy(fTo, dst, len);
// notify
fclose(out_file);
afterGetting(this);

}
...全文
1743 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
37度的阳光 2013-08-16
  • 打赏
  • 举报
回复
1.你可以试试,vlc能不能播放你保存的数据,如果你解码后保存到文件的数据都不能播放,那live555传送出来的就更不能播放了。 2.不建议你在live555的代码里添加视频格式转换和编码操作,live555本身就是单线程的,如果多了这些操作势必会影响它的工作效率,它只是传文件的,最好不要赋予它太多的功能。 3.建议你单开一个线程用来采集数据,然后编码,使用live555从这个线程里取已经编码的现成的数据,把数据的编码和发送分开,这样的操作可靠性也会更高一些。 4.fFrameSize是无论如何也不能手动修改的,就算你要修改,也不能把它改大,只能改小,但是最好一定不要修改。它标识了下次数据的接收处理能力,比如fBuffer当前只能接收100个字节,多了就会溢出,你把size改大,去读取更多的数据,这肯定是要出现错误的。
huangwutao1987 2013-08-14
  • 打赏
  • 举报
回复
引用 6 楼 zhangchil_love 的回复:
live555 你不是直接从内存中获取摄像头采集的数据然后转发么? 为什么还保存成文件了?
怎么保存内存中从摄像头采集的数据?
cll131421 2012-07-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
最后的数据都在filesink里,那里的数据是可以播放的
[/Quote]

在fileSink的afternextframe()中,通过adddata()把buffer写到指定的文件中。
这个里面的数据是可以播放的
rightorwrong 2012-06-26
  • 打赏
  • 举报
回复
最后的数据都在filesink里,那里的数据是可以播放的
yayexing 2012-06-26
  • 打赏
  • 举报
回复
问题解决了吗,我也遇到这样的问题。想请教。
zhangchil_love 2011-12-22
  • 打赏
  • 举报
回复
live555 你不是直接从内存中获取摄像头采集的数据然后转发么?
为什么还保存成文件了?
Hnmtc_001 2011-11-13
  • 打赏
  • 举报
回复
jdsf;laf;lk;fldskf;lkdsa;lfkdsa;lfk;ldsakf
杂家老周 2011-11-13
  • 打赏
  • 举报
回复
vlc没法分析你写的264文件格式的
baiduan 2011-11-13
  • 打赏
  • 举报
回复
帮你顶下,也遇到了这个问题,同求。。。

有个方向就好。。。
  • 打赏
  • 举报
回复
我也想知道,帮忙顶下
cywin 2011-10-31
  • 打赏
  • 举报
回复
没人回答啊!自己先顶一个!

2,543

社区成员

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

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