You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python subprocess为VLC打开的视频添加多音频流

在VLC中通过Python subprocess加载多音频轨道并支持切换

Perfect—VLC’s command line tools make this easy once you know the right flags to use. Let’s tweak your existing code to load multiple audio tracks that you can switch between seamlessly in VLC:

完整可运行代码

import os, subprocess

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

# 加载视频+多音频轨道的调用代码
subprocess.Popen([
    vlcPath,
    vid,
    '--input-slave', aud,
    '--input-slave', aud2
])

修改说明&原理

  • 核心是用VLC的--input-slave参数,每个额外的音频文件对应一个该参数。它会告诉VLC把音频作为独立的媒体流加载,最终在播放器中显示为可切换的音频轨道。
  • 用参数列表的形式传递命令(而非字符串拼接)非常重要——它会自动处理文件路径或VLC程序路径中的空格,避免出现莫名其妙的报错。

在VLC中切换音频轨道的方法

视频播放后:

  • 点击VLC窗口顶部的音频菜单
  • 鼠标悬停在音频轨道选项上
  • 就能看到视频自带音频(如果有的话)加上你添加的两个音频文件,点击对应选项即可切换。

进阶优化技巧

  • 如果你想给轨道命名(避免看到"轨道2"这种模糊标签),可以在每个--input-slave后加上--audio-slave-name参数:
    subprocess.Popen([
        vlcPath,
        vid,
        '--input-slave', aud,
        '--audio-slave-name', "原版配音",
        '--input-slave', aud2,
        '--audio-slave-name', "解说音轨"
    ])
    
  • 遇到问题时,先在终端直接测试VLC命令,排除Python相关问题:
    "C:/Program Files/VideoLAN/VLC/vlc.exe" vid.mp4 --input-slave aud.mp3 --input-slave aud2.mp3
    

内容的提问来源于stack exchange,提问作者SShah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:13:42