h264로 인코딩 된 비디오를 재생하려고 시도했으나 matroskamux로 다중화 된 비디오를 재생하려했지만이를 수행 할 수 없습니다. 나는 임베디드 플랫폼, iMX6에있다.Gstreamer : mastroskamux 오류 : 연결되지 않았습니다.
gst-launch-1.0 filesrc location=video.mkv ! matroskademux ! h264parse ! imxvpudec ! imxipuvideosink
내가 C에서 만든,하지만 작동하지 않습니다
내 파이프 라인은 GST-미사일 작동합니다. I i가 모든 요소를 포함하는 구조를 사용 rep
, 오류 처리를 제거 :
rep->pipeline = gst_pipeline_new("pipeline");
rep->src = gst_element_factory_make("filesrc","source0");
rep->demux = gst_element_factory_make("matroskademux","demux0");
rep->queue = gst_element_factory_make("queue2","queue0");
rep->parser = gst_element_factory_make("h264parse","parser0");
rep->decoder = gst_element_factory_make("imxvpudec","dec0");
rep->sink = gst_element_factory_make("imxipuvideosink","sink0");
gst_bin_add_many (GST_BIN(rep->pipeline), rep->src, rep->demux, rep->queue, rep->parser, rep->decoder,rep->sink, NULL);
g_object_set(rep->src, "location", "video.mkv", NULL);
g_object_set(rep->sink, "use-vsync", TRUE, NULL);
gst_element_link_many(rep->src, rep->demux, rep->queue, rep->parser, rep->decoder, rep->sink, NULL);
g_print("start pipeline\n");
gst_element_set_state (rep->pipeline, GST_STATE_PLAYING);
g_main_loop_run (loop);
동영상이 표시되지 않고 애플리케이션 붙어있다. GST_DEBUG = 4로 나는 디버그를 많이 얻을 수 있지만, 마지막 라인 : 그것이 "때때로"소스 패드를 가지고 있기 때문에
0:00:00.168590667 577 0xe24c0 WARN matroskademux matroska-demux.c:4500:gst_matroska_demux_loop:<demux0> error: stream stopped, reason not-linked
0:00:00.168777333 577 0xe24c0 INFO GST_ERROR_SYSTEM gstelement.c:1835:gst_element_message_full:<demux0> posting message: GStreamer encountered a general stream error.
0:00:00.169084667 577 0xe24c0 INFO GST_ERROR_SYSTEM gstelement.c:1858:gst_element_message_full:<demux0> posted error message: GStreamer encountered a general stream error.
0:00:00.169268000 577 0xe24c0 INFO task gsttask.c:300:gst_task_func:<demux0:sink> Task going to paused
나는, 디멀티플렉서의 패드의 연결을 강제로 시도했다.
어떻게 작동하게 할 것인지 잘 모릅니다. 도움 주셔서 감사합니다.
편집 : 로그 파일 here. 링크 문제입니다. 해결 방법을 모르겠습니다.
아마도 대문자가 일치하지 않습니다. 아마 matroska에 트랙이 더 있을까요? GST_DEBUG = 5를 시도하고 로그를 파일로 리디렉션하십시오. 무슨 일이 일어나는지 설명 할 수있는 많은 것들이 있습니다. 로그를 살펴볼 수 있습니다. – peper0
@ peper0 답변을 주셔서 감사 드리며, 로그로 내 게시물을 편집했습니다. – PierreOlivier
기록한 실행 중에 파이프 라인이 정확히 무엇입니까? [편집] 죄송합니다, 나는 그것이 gst - 발사에서 로그라고 생각. 이제 당신이 첨부 한 코드에서 볼 수 있습니다. – peper0