LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: realtang

贡献出LINUX MPEG4 DVR源代码给SIR,另外还包括一个可以跨平台运行的MPEG4 播放器

[复制链接]
发表于 2008-11-13 09:48:56 | 显示全部楼层

linux 8路采集卡编程

请教Realtang兄,我用您的linux mpeg4 dvr那段代码,
在ubuntu8.0.4上编译通过,采集卡用的是8路的saa7134,
该卡能被ubuntu自动认到/dev/video0.../dev/video7。
我是想获得第一路的yuv420视频数据,但保存的yuv数据
用yuvviewer工具播放,第一帧是黑白行纹,其它也看不到
视频画面。下面是在您的代码中添加部分:

        buffer.type = reqbuf.type;
        buffer.index = i;
        IOCTL(fd, VIDIOC_QUERYBUF, &buffer);
        IOCTL(fd, VIDIOC_DQBUF, &buffer);
        /*debug info
        printf("current frame's unix time seconds :%d\n",buffer.timestamp.tv_sec);
        printf("current frame's unix time mcicoseconds :%d\n",buffer.timestamp.tv_usec);
        */
      
       /***************************添加保存yuv文件***********************/
                FILE *fp=fopen("/home/skyv/share/yuv.dat", "ab");
                fwrite(buffers.start, 1, buffer.length, fp);
                fclose(fp);
                /****************************************************************/
               
        //compress a frame
        m4v_size = enc_main((uint8_t *)buffers.start,
                             mp4_buffer+16,
                             &key, &stats_type,&stats_quant, &stats_length, sse);
               

请问是什么原因?
回复 支持 反对

使用道具 举报

发表于 2008-11-24 20:44:36 | 显示全部楼层
你们有能看懂xvid codec的代码吗?有谁懂,交流一下啊。
回复 支持 反对

使用道具 举报

发表于 2008-11-25 11:29:44 | 显示全部楼层
请问一下下面代码是什么意思?
if ((!paused)||(resized))  //pause = 0 or resize = 1
         {
          if (((SDL_GetTicks()-lastftick)>fpsdelay)||(resized))
          {
               lastftick=SDL_GetTicks();
回复 支持 反对

使用道具 举报

发表于 2008-12-8 23:04:56 | 显示全部楼层
牛帖,
这下需要研究一番了。
回复 支持 反对

使用道具 举报

发表于 2008-12-9 00:19:01 | 显示全部楼层
请教Realtang兄,在你的那个SDL播放器代码中的
screen = SDL_SetVideoMode (SHXDIM, SHYDIM, 0, SDL_HWSURFACE
| SDL_DOUBLEBUF
| SDL_ANYFORMAT
| SDL_RESIZABLE);
对硬件完成什么操作?
在ARM上运行时,为什么一到这里LCD就会显示不正常,而且程序结束后,LCD就一直黑屏?
这里的初始化,需要硬件的配合,我建议你看看你的硬件环境支持那些。
回复 支持 反对

使用道具 举报

发表于 2008-12-12 22:02:34 | 显示全部楼层
感谢!
东西 以及精神
回复 支持 反对

使用道具 举报

发表于 2008-12-16 21:23:06 | 显示全部楼层
Post by libra_kevin;1445745
都编译通过了,要先装SDL库和Xvid,然后:

gcc -o mpeg4_player mpeg4_player.c `sdl-config --cflags --libs` -lxvidcore

gcc -o linux_dvr linux_dvr.c -lxvidcore



感谢Realtang兄,我前两天在学习怎么用xvid,现在可以参考你的代码了: )

请问那个Linux DVR怎么用? 运行了以后显示:
Can't open /dev/video device: No such file or directory

要个什么样的video设备?

你应该没有安装摄像头
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表