bugfix
This commit is contained in:
parent
c3799eda8c
commit
5040c0713b
@ -37,7 +37,7 @@ class MyTrackBase:
|
|||||||
|
|
||||||
class MyAudioStreamTrack(AudioStreamTrack):
|
class MyAudioStreamTrack(AudioStreamTrack):
|
||||||
def __init__(self, source=None):
|
def __init__(self, source=None):
|
||||||
AudioStreamTrack.__init__(self)
|
super().__init__()
|
||||||
self.source = source
|
self.source = source
|
||||||
self.set_source_track()
|
self.set_source_track()
|
||||||
print(f'{self.kind=}, {self.__class__.__name__}, {dir(self)}')
|
print(f'{self.kind=}, {self.__class__.__name__}, {dir(self)}')
|
||||||
@ -67,7 +67,7 @@ class MyAudioStreamTrack(AudioStreamTrack):
|
|||||||
|
|
||||||
class MyVideoStreamTrack(VideoStreamTrack):
|
class MyVideoStreamTrack(VideoStreamTrack):
|
||||||
def __init__(self, source=None):
|
def __init__(self, source=None):
|
||||||
VideoStreamTrack.__init__(self)
|
super().__init__()
|
||||||
self.source = source
|
self.source = source
|
||||||
self.set_source_track()
|
self.set_source_track()
|
||||||
print(f'{self.kind=}, {self.__class__.__name__}, {dir(self)}')
|
print(f'{self.kind=}, {self.__class__.__name__}, {dir(self)}')
|
||||||
@ -95,3 +95,19 @@ class MyVideoStreamTrack(VideoStreamTrack):
|
|||||||
self.source = source
|
self.source = source
|
||||||
self.set_source_track()
|
self.set_source_track()
|
||||||
|
|
||||||
|
|
||||||
|
class LoopingVideoTrack(VideoStreamTrack):
|
||||||
|
"""
|
||||||
|
A video track that loops a video file.
|
||||||
|
"""
|
||||||
|
def __init__(self, filename):
|
||||||
|
super().__init__()
|
||||||
|
self.player = MediaPlayer(filename)
|
||||||
|
self.iteration = 0
|
||||||
|
|
||||||
|
async def recv(self):
|
||||||
|
if self.player.video.readyState != 'live':
|
||||||
|
self.player = MediaPlayer(self.player._file_path)
|
||||||
|
frame = await self.player.video.recv()
|
||||||
|
return frame
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ import websockets
|
|||||||
from stt import asr
|
from stt import asr
|
||||||
from vad import AudioTrackVad
|
from vad import AudioTrackVad
|
||||||
from a2a import LLMAudioStreamTrack
|
from a2a import LLMAudioStreamTrack
|
||||||
from aav import MyMediaPlayer, MyAudioStreamTrack, MyVideoStreamTrack
|
from aav import MyMediaPlayer, MyAudioStreamTrack, MyVideoStreamTrack, LoopingVideoTrack
|
||||||
|
|
||||||
from mini_omni.inference import OmniInference
|
from mini_omni.inference import OmniInference
|
||||||
|
|
||||||
@ -127,7 +127,8 @@ class RTCLLM:
|
|||||||
'pc':pc
|
'pc':pc
|
||||||
})
|
})
|
||||||
pc.addTrack(MyAudioStreamTrack(player))
|
pc.addTrack(MyAudioStreamTrack(player))
|
||||||
pc.addTrack(MyVideoStreamTrack(player))
|
pc.addTrack(LoopingVideoTrack('./1.mp4'))
|
||||||
|
# pc.addTrack(MyVideoStreamTrack(player))
|
||||||
# pc.addTrack(player.video)
|
# pc.addTrack(player.video)
|
||||||
await self.ws_send(json.dumps({'type':'callAccepted', 'to':data['from']}))
|
await self.ws_send(json.dumps({'type':'callAccepted', 'to':data['from']}))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user