-
Notifications
You must be signed in to change notification settings - Fork 1.3k
feat: add bey video service #2634
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
src/pipecat/services/bey/video.py
Outdated
# TODO: Is it possible to elegantly infer this from the pipeline's transport? | ||
# NOTE: Unlike other providers, bey posts video directly to the room, | ||
# likely resulting in lower latency |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this ok? Or should we adhere to the pattern of streaming the video back to the bot, then have the bot post to the room?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it's ok, what's a more elegant way to retrieve room_url
that doesn't require the developer to specify it twice in the pipeline (once for transport, once for this component)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Decided to inject the transport client for now in e8d8543
src/pipecat/services/bey/video.py
Outdated
# TODO: Fix this hacky way of obtaining the DailyTransportClient | ||
self._client = DailyTransport( | ||
self._room_url, | ||
token, | ||
"Bey example Bot", | ||
DailyParams( | ||
audio_in_enabled=True, | ||
video_out_enabled=False, | ||
video_out_is_live=False, | ||
microphone_out_enabled=False, | ||
vad_analyzer=SileroVADAnalyzer(), | ||
), | ||
)._client |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this hacky retrieval of the client is also tied to the fact that we want to post directly to the room. Any suggestion here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about SmallWebRTCTransport users?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure, I see that other providers like tavus
define their own TavusTransportClient
, but it seems to be a simple wrapper around a DailyTransportClient
anyway. Is it fine to only support this type of client for now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @matrunchyk, our code leverages the register_audio_destination
from DailyTransportClient
to send audio from one agent to the other without having it play in the room. Is that also supported in the SmallWebRTCTransport
? Doesn't seem like it by taking a quick look at the code.
Co-authored-by: Lucas Jacobson <[email protected]> Co-authored-by: Nicola De Angeli <[email protected]>
88f7cc5
to
6910d09
Compare
@matrunchyk refactored stuff a bit and added an example |
@matrunchyk marked as ready for review, let me know if there's anything to fix! We would like to merge this soon to properly document it in our docs too. Thank you! |
@nicodea Sorry I just saw this... There might be some confusion, I am not a member of Pipecat team or Daily team.. I'm just a humble developer 😀 @markbackman This is the person you need I believe 😁 P.S. I was emailing you using contact form a couple of weeks ago, nobody has responded yet, I wonder if the form is working? |
Ah I see, sorry for the confusion, and thank you for pinging Mark for me 🙏 |
Hey @aconchillo, do you have any suggested next step for this? Would be great to get this merged soon :) |
Hello! Sorry for the delayed response. We've just rolled out Community Integrations and we'd like to invite you to submit your integration for listing. While your integration won't be part of Pipecat's core code, it will be discoverable in the Pipecat docs and fully usable with Pipecat. Please review the guidelines here and let me know if you have any questions: |
Add
BeyVideoService
class to generate avatars with Beyond Presence.Setting this as draft as it is not fully ready yet but would like to receive some feedback by the maintainers. Thanks!