【发布时间】:2016-11-09 17:54:16
【问题描述】:
我需要能够同时播放 2 个不同的视频剪辑,将它们的音频缩混为单声道,并将音频分别播放到左/右声道。也就是说,将剪辑 1 的音频播放到左声道,将剪辑 2 的音频播放到右声道。
【问题讨论】:
-
这两个视频应该怎么做?
-
要播放两个视频,但左声道输出第一个视频,右声道输出第二个音频。
标签: audio gstreamer gstreamer-1.0
我需要能够同时播放 2 个不同的视频剪辑,将它们的音频缩混为单声道,并将音频分别播放到左/右声道。也就是说,将剪辑 1 的音频播放到左声道,将剪辑 2 的音频播放到右声道。
【问题讨论】:
标签: audio gstreamer gstreamer-1.0
我的解决方案使用 audioconvert 将剪辑缩混为单声道,然后将其馈送到 audiopanorama 以改变平衡。
gst-launch-1.0 playbin uri=file:<video file to play> audio-sink="audioconvert ! audio/x-raw,channels=1 ! audiopanorama panorama=-1 ! pulsesink"
panorama=-1 将天平向左移动,而值为 1 将天平向右移动。
【讨论】:
您希望同一管道中的所有内容都与同一时钟同步。尝试类似:
gst-launch-1.0 uridecodebin uri=file:///file1 name=src1 ! queue ! audioconvert ! "audio/x-raw, channels=1" ! interleave name=audiointerleave ! queue ! autoaudiosink uridecodebin uri=file:///file2 name=src2 ! queue ! audioconvert ! "audio/x-raw, channels=1" ! audiointerleave. src1. ! queue ! videoconvert ! autovideosink src2. ! queue ! videoconvert ! autovideosink
你也可以考虑用多队列替换uridecodebins之后的队列。
audioconvert 将能够缩混为单声道,然后您将它们与interleave 组合成一个立体声流
【讨论】: