使用gstreamer

时间:2016-07-06 09:26:51

标签: android camera gstreamer

有人知道如何从Android摄像头捕获视频并使用gstreamer1.0将其保存到文件中吗?我已经尝试了camerabin插件。我构建了这个管道: gst-launch-1.0 camerabin mode=1 filename="/storage/sdcard0/Movies/camera.ogg" 但它不起作用。我理解我必须设置viewfinder-sinkcamera-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中。

拜托,帮助我!

1 个答案:

答案 0 :(得分:0)

ahstrc插件确实存在于gstreamer 1.0中。它被gstreamer 1.8添加到“坏”插件中。

您应该使用theoraenc插件编码为.ogv视频。