Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

[Sponsorship] Need Help with New Features #1476

Closed
RainyTunes opened this issue Jun 13, 2024 · 1 comment
Closed

[Sponsorship] Need Help with New Features #1476

RainyTunes opened this issue Jun 13, 2024 · 1 comment

Comments

@RainyTunes
Copy link
Sponsor

RainyTunes commented Jun 13, 2024

Describe the bug

Hi shogo4405,

Thank you for your insistent work with HaishnKit!

We're using HaishinKit a lot in our product and it works great for most of what we need. But we're stuck on a few features and really need your help. We're also happy to sponsor these improvements, anywhere from $50 to $500 or more if needed.

Here are the challenges we're facing:

  1. Streaming to Multiple Platforms (Like OBS): We want to send streams to multiple platforms at the same time and manage these streams by adding or removing sources. We saw someone asked about this in 2021 (Issue #852). Has anything changed since then that could help us do this?

  2. Streaming Local Videos (Like OBS): We want to stream local videos and be able to pause and play them during the stream. We tried two ways:

    • Using registerVideoEffect() and hack the video frames to overlay a video, but the video and audio don't sync well.
    • Using appendBuffer(_, sampleBuffer:), but this also messes up the video and audio sync and doesn't really work well for controlling video playback.
  3. Customizing Camera Positions in the Stream: HaishinKit lets us use both the front and back cameras at the same time, but we can't adjust where these camera views show up in the stream. We’d like to be able to move and resize these views.

If it's too hard to add these features directly into HaishinKit, maybe you could guide us on how to add them ourselves? Any advice on how complicated this might be and what kind of work it would involve would be really helpful.

To Reproduce

Please see the description below.

Expected behavior

Please see the description below.

Version

1.8.1

Smartphone info.

No response

Additional context

No response

Screenshots

No response

Relevant log output

No response

@shogo4405
Copy link
Owner

1, RTMPStream has a method called addObserver (https://shogo4405.github.io/HaishinKit.swift/Classes/IOStream.html#/s:10HaishinKit8IOStreamC11addObserveryyAA0cE0_pF). You can use this to subscribe to CMSampleBuffer and then use RTMPStream's append(_ buffer: CMSampleBuffer) to link to other streams. This might fulfill your requirements, so please try it out.

2 and 3, they should be addressed by #1449. This has already been merged into the main branch and is scheduled for release as version 1.9.0. Please try it and provide feedback.

Repository owner locked and limited conversation to collaborators Jun 13, 2024
@shogo4405 shogo4405 converted this issue into discussion #1477 Jun 13, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants