gpt4 book ai didi

audio - Gstreamer 使用 (uri)decodebin 从视频文件中播放音频 - 高 CPU 使用率

转载 作者:行者123 更新时间:2023-12-02 23:05:52 26 4
gpt4 key购买 nike

我正在使用 gstreamer 从文件/RTMP/RTSP 流中转换音频,然后对其进行分析。

问题是,如果我的源文件是视频或视频流,gstreamer 会占用大量 CPU。

示例 1(视频) - 正如 htop 所说,使用 30-35% 的 CPU。

gst-launch-1.0 uridecodebin uri='test.mp4' ! autoaudiosink

示例 2(使用 ffmpeg -c copy 转换的上述视频文件中的音频)- 使用 2-4% 的 CPU
gst-launch-1.0 uridecodebin uri='test.mp3' ! autoaudiosink

如何指定我只需要视频文件中的音频源?

我正在使用 decodebin,因为我不知道我会从用户那里获得哪些文件(格式)。

最佳答案

对于上述示例,您可以使用 playbin 设置 flags 属性:

flags               : Flags to control behaviour
flags: readable, writable
Flags "GstPlayFlags" Default: 0x00000617, "soft-colorbalance+deinterlace+soft-volume+text+audio+video"
(0x00000001): video - Render the video stream
(0x00000002): audio - Render the audio stream
(0x00000004): text - Render subtitles
(0x00000008): vis - Render visualisation when no video is present
(0x00000010): soft-volume - Use software volume
(0x00000020): native-audio - Only use native audio formats
(0x00000040): native-video - Only use native video formats
(0x00000080): download - Attempt progressive download buffering
(0x00000100): buffering - Buffer demuxed/parsed data
(0x00000200): deinterlace - Deinterlace video if necessary
(0x00000400): soft-colorbalance - Use software color balance

如果要提取音频并对其进行转码,则可能需要编写一些代码。

关于audio - Gstreamer 使用 (uri)decodebin 从视频文件中播放音频 - 高 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44220477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com