Ich benutze gstreamer, um Audio von Dateien/RTMP/RTSP Streams zu konvertieren und dann zu analysieren.Gstreamer Abspielen von Audio aus Videodatei mit (uri) decoderbin - hohe CPU-Auslastung
Das Problem ist, wenn meine Quelldatei Video oder Videostream gstreamer viel CPU verwendet.
Beispiel 1 (Video) - verwendet 30-35% der CPU, wie htop sagt.
gst-launch-1.0 uridecodebin uri='test.mp4' ! autoaudiosink
Beispiel 2 (Audio von Video-Datei, die oben mit ffmpeg umgewandelt -c kopieren) - verwendet 2-4% der CPU-
gst-launch-1.0 uridecodebin uri='test.mp3' ! autoaudiosink
Wie kann ich angeben, dass ich nur Audioquelle muß aus dem Video Datei?
Ich benutze decoderbin, weil ich nicht weiß, welche Dateien (Formate) ich von Benutzern bekomme.
Ich habe bereits eine funktionierende Pipeline mit decoderbin und appsink, die mir Zugang zu rohen transcodierten PCM16 16khz Audio gibt, danke! Seem ist wie ich das Problem gefunden habe. Decodebin2 (das übrigens in playbin verwendet wird) dekodiert alle Ströme, die es in Quelldatei/Stream/etc finden kann. Scheint so, als würde decoderbin3, das gerade entwickelt wird, diese nutzlose CPU-Nutzung loswerden. –