Используя LibVLC, я пытаюсь сохранить поток во время его воспроизведения. Это код python:
import os
import sys
import vlc
if __name__ == '__main__':
filepath = <either-some-url-or-local-path>
movie = os.path.expanduser(filepath)
if 'http://' not in filepath:
if not os.access(movie, os.R_OK):
print ( 'Error: %s file is not readable' % movie )
sys.exit(1)
instance = vlc.Instance("--sub-source marq --sout=file/ps:example.mpg")
try:
media = instance.media_new(movie)
except NameError:
print ('NameError: % (%s vs Libvlc %s)' % (sys.exc_info()[1],
vlc.__version__, vlc.libvlc_get_version()))
sys.exit(1)
player = instance.media_player_new()
player.set_media(media)
player.play()
#dont exit!
while(1):
continue
Сохраняет видеопоток в файл example.mpg
. Согласно this doc, команда сохранения потока такова:
--sout=file/ps:example.mpg
который я использую при создании экземпляра vlc.Instance
:
instance = vlc.Instance("--sub-source marq --sout=file/ps:example.mpg")
Но проблема в том, что он сохраняет только поток, он не воспроизводит поток одновременно.
Есть ли способ (в LibVLC) Я могу сохранить поток (в локальный файл) при его оплате?
Хотя, я ищу решение в Python 3.3.1
, но это прекрасно, если есть какое-либо решение C или С++.
Вчера я создал похожую, но не повторяющуюся, тему.