1
"autoaudiosrc"요소를 사용하여 오디오를 기록하는 python gstreamer - 1.0 코드가 있습니다. 내 질문은 거의 '미리 정의 된'초 후에 파이프 라인을 중지하고 바람직하게 gstelement 형식으로 추가 할 것입니다. 기록에 사용gstreamer에서 미리 정의 된 시간 동안 오디오를 녹음하는 방법은 무엇입니까?
현재 파이프 라인 :
gst-launch-1.0 autoaudiosrc num-buffers=100 ! audioconvert ! vorbisenc ! oggmux ! filesink location="sit.ogg"
해당 파이썬 코드
import sys, os
import gi
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst, Gtk
GObject.threads_init()
Gst.init(None)
pipeline = Gst.Pipeline()
current_state = "STATE_NULL"
autoaudiosrc = Gst.ElementFactory.make("autoaudiosrc", "autoaudiosrc")
audioconvert = Gst.ElementFactory.make("audioconvert", "audioconvert")
vorbisenc = Gst.ElementFactory.make("vorbisenc", "vorbisenc")
oggmux = Gst.ElementFactory.make("oggmux", "oggmux")
filesink = Gst.ElementFactory.make("filesink", "filesink")
url = "1.ogg"
filesink.set_property("location",url)
pipeline.add(autoaudiosrc)
pipeline.add(audioconvert)
pipeline.add(vorbisenc)
pipeline.add(oggmux)
pipeline.add(filesink)
autoaudiosrc.link(audioconvert)
audioconvert.link(vorbisenc)
vorbisenc.link(oggmux)
oggmux.link(filesink)
pipeline.set_state(Gst.State.PLAYING)
Gtk.main()
~
감사 인사는 시도하고 다시 돌아올 것입니다. –