大家好,我用dm385芯片接入两路1080p图像,编码link有四个通道,0,1是1080p,2,3通道是0,1通道缩放至D1分辨率的图像,我现在想实现按键拍照功能,按一下键,就将通道0的数据编码成一幅mjpeg图像,我使用Venc_snapshot(0,0)函数,在App_ipcBitsRecvStreamFxn中并没有mjpeg类型的数据生成,请问我该怎么办?
Ternence_Hsu:
你好;
你这样描述,大家很难帮你判断和分析出问题的位置,你最好还是先调试一下程序,查一下有没有执行mjpeg编码,还是数据传送的问题。
jin zhu:
回复 Ternence_Hsu:
我主要是想问下思路是否正确,是否需要在usecase的enclink中再增加一个mjpeg的通道。现在enclink中的四个通道都是用于h264编码。如果需要添加一个通道,那就必须dup一路数据源作为输入,而且还要设置mjpeg的输出帧率,那样的话就会一直有jpeg图像输出,与我想要的结果就不一样了。
Ternence_Hsu:
回复 jin zhu:
你好;
需要再dup 一路视频处理的,并且设置为mjpeg编码;
你可以初始化这个编码通道全部都跳帧,这样就不会一直有输出,当你在调用 Venc_snapshot 才会有数据的输出;
/** * \brief: * Take a snapshot jpeg frame * \input: * vencChnId — encoder channel id * vencStrmID — the stream id * \output: * NA * \return* TI_MEDIA_SUCCESS — while success* ERROR_CODE — refer for err defination*/Int32 Venc_snapshotDump(VENC_CHN vencChnId, VENC_STRM vencStrmID)
jin zhu:
回复 Ternence_Hsu:
你好:请问怎么设置编码通道全部跳帧?我将enclink_common.c中enclink_codec_set_ch_alg_default_dynamic_params函数的
pChAlgDynPrm->targetFrameRate = ENC_LINK_MJPEG_DEFAULT_ALGPARAMS_TARGETFRAMERATEX5000; pChAlgDynPrm->refFrameRate = ENC_LINK_MJPEG_DEFAULT_ALGPARAMS_REFFRAMERATEX5000;
这两个参数改为0,以为就是输出为0了,但是这样改编码算法会报错。
jin zhu:
回复 Ternence_Hsu:
好的,谢探路者。
Free:
Hi, Jin Zhu
你说的使用dm385芯片接入两路1080p图像,是如何实现的?是不是相当于一个dm385上接了两个视频源?能同时使用吗?
谢谢。
Ternence_Hsu:
回复 Free:
Free
你说的使用dm385芯片接入两路1080p图像,是如何实现的?是不是相当于一个dm385上接了两个视频源?能同时使用吗?
这里是通过vip port 0 和vip port 1 分别接入一个1080P的图像视频源码,每个通道都可以达到60帧的采集帧率,可以同时使用的
Free:
回复 Ternence_Hsu:
Hi, Ternence Hsu
我想通过ISS同时接入两个视频源,一个通过MIPI,一个通过CPI,这样能行吗?
需要做什么样的改动?谢谢。