Gstreamer 使h264源代码可查找

Gstreamer 使h264源代码可查找,gstreamer,Gstreamer,我有一个h.264流,我正在努力使其可搜索 一旦视频流结束,默认情况下,视频将被录制,无法查看。我知道通过使源可流化,它会禁用可搜索性,但是我想知道是否有一种方法可以在流的末尾注入索引信息,或者是否有一种方法可以使视频以其他方式可搜索 我如何设置GSTBus: eosBus = gst_element_get_bus(pipeline); gst_bus_add_signal_watch (eosBus); g_signal_connect (eosBus, "message", (

我有一个h.264流,我正在努力使其可搜索

一旦视频流结束,默认情况下,视频将被录制,无法查看。我知道通过使源可流化,它会禁用可搜索性,但是我想知道是否有一种方法可以在流的末尾注入索引信息,或者是否有一种方法可以使视频以其他方式可搜索

我如何设置GSTBus:

eosBus = gst_element_get_bus(pipeline);
   gst_bus_add_signal_watch (eosBus);
   g_signal_connect (eosBus, "message", (GCallback) message_cb, pipeline);
我处理EOS的方式:

static void gst_native_stop_recording (JNIEnv* env, jobject thiz) {
        gst_element_send_event(pipeline, gst_event_new_eos());
        gst_element_set_state (pipeline, GST_STATE_PAUSED);
        //unlink elements
下面是我如何设置calback消息功能(该功能从未触发)


你能提供更多关于你想做什么的信息吗?GStreamer管道?@YunieskyVasconcelo为迟来的回复道歉,以下是录制视频的方法。你是否正确地通过EOS停止管道?@florianwoch嘿,我编辑了我的原始帖子,你可以看到我如何处理EOS不确定。但我不会在发送EOS后暂停管道。EOS撞上巴士了吗?我会在EOS撞上巴士后停止管道-而不是之前。你能提供更多关于你正在尝试做什么的信息吗?GStreamer管道?@YunieskyVasconcelo为迟来的回复道歉,以下是录制视频的方法。你是否正确地通过EOS停止管道?@florianwoch嘿,我编辑了我的原始帖子,你可以看到我如何处理EOS不确定。但我不会在发送EOS后暂停管道。EOS撞上巴士了吗?我会在EOS撞上巴士后停止管道——而不是之前。
static void message_cb (GstBus * bus, GstMessage * message, gpointer user_data)
{
  switch (GST_MESSAGE_TYPE (message)) {
    case GST_MESSAGE_EOS: {
        GST_DEBUG("Got EOS\n");
        break;
    }

    default:
        break;
  }
}