如何使用Python子过程在VLC中打开的视频中添加多个音频流



我已经学会了如何使用Python Subprocess使用代码在VLC中打开视频文件:

import os, subprocess
vlcPath = "C:/Program Files/VideoLAN/VLC/vlc.exe"
vid = "vid.mp4"
aud = "aud.mp3"
aud2 = "aud2.mp3"

#To open just the video in vlc, the following code works:
subprocess.Popen([vlcPath, vid])

现在如何使此代码加载其他音频文件,以便将它们同时加载为编解码器,并且用户可以轻松地从VLC中切换到特定的音频文件之间。

我能够通过单击选项"播放另一个媒体异步(额外的音频文件,...(",并在"额外媒体"部分中添加路径,从而直接从VLC获得同时从VLC进行流式传输。。

这样做时,VLC添加一个选项,说" :input-slave = [filename] "

现在我该如何在Python中做同样的事情,因为以下情况不起作用:

subprocess.Popen([vlcPath, vid, aud, aud2])

subprocess.Popen([vlcPath, "{} :input-slave={}".format(vid, aud)])

subprocess.Popen([vlcPath, vid, ":input-slave=", aud, ":input-slave=", aud2])

我在上面尝试过的第一个和第三个解决方案,在" VLCPath"之后打开所有索引项目,作为VLC播放列表中的单独项目。第二个解决方案使我陷入错误。

我已经尽力详细解释我的问题,但是请随时问我是否需要更多详细信息,我会尽力回答您的问题。

谢谢。

好吧,我刚刚找到了我自己问题的解决方案。

我从 synetech的中找到了解决方案,请在以下文章中回答:https://superuser.com/questions/685507/how-to-to-to-play-play-a-sound-a-sound-video-video-and-add--a-audio-file-at-same-pitie

使它起作用,我尝试做的就是将 - input-slave = 添加到音频文件,例如:

subprocess.Popen([vlcPath, vid, "--input-slave="+aud])

,尽管这有效,如果我尝试使用此方法添加其他音频,则它不起作用,即:

subprocess.Popen([vlcPath, vid, "--input-slave="+aud,  "--input-slave="+aud2])

这不起作用。

因此,如果您对此有解决方案,那将是有帮助的。

谢谢。

回答太晚了,但是对于下一个人,您可以使用以下内容:

subprocess.Popen([vlcPath, vid, "--input-slave="+aud+"#"+aud2])

来自VLC命令行文档

  --input-slave=<string>     Input slave (experimental)
      This allows you to play from several inputs at the same time. This
      feature is experimental, not all formats are supported. Use a '#'
      separated list of inputs.

相关内容

  • 没有找到相关文章

最新更新