有人知道如何从Android摄像头捕获视频并使用gstreamer1.0将其保存到文件中吗?我已经尝试了camerabin
插件。我构建了这个管道:
gst-launch-1.0 camerabin mode=1 filename="/storage/sdcard0/Movies/camera.ogg"
但它不起作用。我理解我必须设置viewfinder-sink
和camera-src
属性,但当我尝试使用像这样的gstreamer函数来创建管道时
`data->pipeline = gst_element_factory_make("camerabin", "camerabin");
g_object_set(data->pipeline, "mode", MODE_VIDEO, NULL);
sink = gst_element_factory_make ("filesink", NULL);
g_object_set(sink, "location","/storage/sdcard0/Movies/test.ogg");
g_object_set(data->pipeline, "viewfinder-sink", sink, NULL);
g_object_set(data->pipeline, "filename","/storage/sdcard0/Movies/camera-record.ogg", NULL);
gst_element_set_state(data->pipeline, GST_STATE_READY);`
应用程序崩溃并给我错误:
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x83127d5b in tid 27873 (als.tutorial_51)
我添加了filesink元素,因为当我构建这样的管道时:
data->pipeline = gst_parse_launch("camerabin mode=1 filename="/storage/sdcard0/Movies/camera.ogg")
文件camera.ogg无法在文件系统中创建。
我无法设置camera-src
财产,因为我不知道应该使用什么价值。在示例中,人们使用v4l2
,但并非所有设备都支持此插件。他们还使用了ahcsrc
,但它给了我错误:no elements ahcsrc
。我试图找到这个元素,发现gstreamer1.0中没有这样的元素,仅在androidcamera
插件中的gstreamer-0.10中。
拜托,帮助我!
答案 0 :(得分:0)
ahstrc插件确实存在于gstreamer 1.0中。它被gstreamer 1.8添加到“坏”插件中。
您应该使用theoraenc插件编码为.ogv视频。