【发布时间】:2020-07-15 19:20:54
【问题描述】:
我正在寻找通过 python3.8 使用 vlc 播放器播放视频。我可以播放电影 (mp4),但我想添加额外的音轨。我读到“添加奴隶”方法是(新)方法,但我无法正确使用它:我无法添加字幕或音轨。
总结一下:我想用 Python 实现的大致如下: https://wiki.videolan.org/VLC_HowTo/Play_an_external_audio_track_for_a_video
我当前的(非工作)sn-p:
import vlc
base_path = r"Z:/test/libvlc/"
video_file = base_path + "original.mp4"
audio_file = base_path + "2xlcDLHY7k0-instru+vocal_stereo.wav"
sub_file = base_path + "word.ass"
Instance = vlc.Instance()
player = Instance.media_player_new()
Media = Instance.media_new(video_file)
AdditionalTrack = player.add_slave(player, audio_file, True, i_type="audio")
Sub = player.add_slave(player,sub_file, True)
player.set_media(Media)
while True:
player.play()
我在这里找到了 'add_slave' 函数的文档: https://www.olivieraubert.net/vlc/python-ctypes/doc/ 但我无法正常使用它
libvlc_media_slaves_add(p_md, i_type, i_priority, psz_uri) 为当前媒体添加一个从站。从属设备是一个外部输入源,可能包含额外的字幕轨道(如 .srt)或额外的音轨(如 .ac3)。 参数: p_md - 媒体描述符对象。 i_type - 字幕或音频。 i_priority - 从 0(低优先级)到 4(高优先级)。 psz_uri - 从站的 Uri(应包含有效的方案)。
如果有人知道如何添加字幕或附加音轨, 如果他能告诉我如何做,我将不胜感激,
非常感谢!
【问题讨论】:
-
回溯(最近一次通话最后):文件“Z:/midge_play_karaoke-v010.py”,第 11 行,在
AdditionalTrack = player.add_slave(player, audio_file, True, i_type=" audio") TypeError: add_slave() 为参数 'i_type' 获取了多个值 -
我正在使用:libvlc v3.0.9113