blessed 发表于 2013-7-27 08:58:43

ashwing 发表于 2013-7-27 07:23 static/image/common/back.gif
终于运行起来 但是屏是花的

摄像头是支持MJPEG的


YUV420sp的输入是可以的,具体的你可以先查看camera支持什么格式的输出,然后修改V4L2那个部分的像素格式设置。

ashwing 发表于 2013-7-27 19:35:18

blessed 发表于 2013-7-27 08:58 static/image/common/back.gif
YUV420sp的输入是可以的,具体的你可以先查看camera支持什么格式的输出,然后修改V4L2那个部分的像素格式 ...

我用enm 查了摄像头只支持MJPEG

不知道该怎么修改对这些格式一无所知。。。。

ashwing 发表于 2013-7-27 19:35:44

blessed 发表于 2013-7-27 08:58 static/image/common/back.gif
YUV420sp的输入是可以的,具体的你可以先查看camera支持什么格式的输出,然后修改V4L2那个部分的像素格式 ...

我用enm 查了摄像头只支持MJPEG

不知道该怎么修改对这些格式一无所知。。。。

blessed 发表于 2013-7-29 11:55:58

ashwing 发表于 2013-7-27 19:35 static/image/common/back.gif
我用enm 查了摄像头只支持MJPEG

不知道该怎么修改对这些格式一无所知。。。。 ...

网上有很多可以查看camera支持像素格式的代码,你随便找找,现在的camera很少只支持一种像素格式的

ashwing 发表于 2013-7-29 17:35:27

我直接在你代码里 加了个 ENM SMT的函数查的

然后又用MOTION测试了确实只有MJPEG工作、。。、

08年的老摄像头了

ashwing 发表于 2013-7-29 17:37:39

VENC_DEVICE * CedarvEncInit(__u32 width, __u32 height, __u32 avg_bit_rate, __s32 (*GetFrmBufCB)(__s32 uParam1,void *pFrmBufInfo))
请教下这个函数 是怎么调用的

最后个回调 总是出错
g_pCedarV = CedarvEncInit(mVideoWidth,mVideoHeight,1024*1024,GetFrmBufCB);
编译可以通过 运行出现
E/osal_linux:(329) flush cache fail,range error

谢谢指教

ashwing 发表于 2013-7-29 17:44:17

void queryvideo()
{
      int ret = -1;
      struct v4l2_fmtdesc fmt;
      memset(&fmt, 0, sizeof(fmt));
      fmt.index = 0;
      fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
      while ((ret = ioctl(fd, VIDIOC_ENUM_FMT, &fmt)) == 0)
      {
                fmt.index++;
                printf("{ pixelformat = ''%c%c%c%c'', description = ''%s'' }\n",
                  fmt.pixelformat & 0xFF, (fmt.pixelformat >> 8) & 0xFF, (fmt.pixelformat >> 16) & 0xFF,
                  (fmt.pixelformat >> 24) & 0xFF, fmt.description);
      }
      printf("OVER");
}
用这个查询的

blessed 发表于 2013-7-30 10:52:05

ashwing 发表于 2013-7-29 17:37 static/image/common/back.gif
VENC_DEVICE * CedarvEncInit(__u32 width, __u32 height, __u32 avg_bit_rate, __s32 (*GetFrmBufCB)(__s3 ...

你肯定是参数没有设置对,把第三个参数设置为原先的3*512*1024试试。
你这个出错是直接退出程序吗?如果不是的话,只要参数设置没有问题,应该可以的
另外,这个出错的信息应该来自库里面的函数。

ashwing 发表于 2013-7-30 11:51:58

恩我现在能跑起来只是屏幕分4等分只显示2格 花屏而已

其中一段循环的 输出

GetPreviewFrame failed
v4l2 should not release the same buffer twice continuous: index : 0
VIDIOC_QBUF failed, id: 0
get para success
set video layer param
success set para
get para success
set video layer param
success set para
layer0 open hdl:101,ret:0 w:320 h:240
layer0 open hdl:102,ret:0 w:320 h:240
layer0 open hdl:0,ret:-1 w:320 h:240
Open video display layer failed!


ashwing 发表于 2013-7-30 11:52:14

不管怎么样谢谢你耐心的指导
页: 1 [2] 3 4 5 6 7 8 9 10 11
查看完整版本: H264高清硬编解教程《附相应的库》