本帖最后由 xu0xiang0 于 2015-11-27 10:31 编辑
现在可以压缩了,虽然播放的时候会卡1,2秒钟然后继续播放.....
我说下vpuenc无法压缩成mp4的原因吧:
用纯软件可以压缩,用vpuenc代替ffmpegcolorspace后,生成的文件始终说无图像数据(!!!!)。左试右试,在快要崩溃的情况下再度找到主板供应方,他们勉强给了我一个脚本(这还是老板带着我去要的),是gst-launch的,我仔细看了看这个脚本,发现他们是从UYVY--->I420---->H264的,也就是说,他们的 vpuenc codec=avc,我试了他们的脚本,确实可以生成视频,然后我将 codec=mpeg,结果就报生成的视频无图像数据了....然后,我突然想起来,之前看论坛帖子 Rita说过,mxc_vpu_test.out 只能压缩h264,我估计是vpu的老软件版本也只能压缩h264.....,然后,我将原来的代码,修改 codec=avc,就能压缩了。
所以,原因出来了,应该是vpu的软件版本太老。我之前是找Rita要过 4.0.0的ltib的,去问主板供应方如何升级的时候,他们告诉我,用他们的文件系统就行了,替换后,我看确实可以软件压缩了,就没升级,结果出了这档子事情,看来还是有必要升级。
也许有人会要找怎么写格式转换的 “format”吧,要知道,大陆局域网内是搜不到的,我写出来吧:
g_object_set( G_OBJECT( geFltGray ),"caps",
gst_caps_new_simple("video/x-raw-gray",
"width",G_TYPE_INT,1000,
"height",G_TYPE_INT,720,
"bpp",G_TYPE_INT,8,
"depth",G_TYPE_INT,8,
"framerate",GST_TYPE_FRACTION,1,1,//帧率,根据自己情况修改
NULL
),NULL);
g_object_set( G_OBJECT( geFltI420 ),"caps",
gst_caps_new_simple("video/x-raw-yuv",
"format",GST_TYPE_FOURCC,GST_MAKE_FOURCC( 'I','4','2','0' ),
"width",G_TYPE_INT,1000,
"height",G_TYPE_INT,720,
"framerate",GST_TYPE_FRACTION,1,1,
NULL
),NULL); |