RenderHeads / UnityPlugin-AVProVideo

AVPro Video is a multi-platform Unity plugin for advanced video playback
https://www.renderheads.com/products/avpro-video/
226 stars 28 forks source link

Working with RTMP #1270

Closed MurkesM closed 1 year ago

MurkesM commented 1 year ago

Question I'm trying to stream a RTMP link into Unity and the docs say it will only work with DirectShow along with LAV Filters or something similar. I'm confused by what that means? Is that meaning I need to import both of those into my project and it will work? Is that meaning I need to use those tools to make something of my own? I'm just not sure what it is I need to do with both DirectShow and LAV Filters or something like it. Also I'm trying to do this in the context of building to a HoloLens2 (UWP). I would really love some info whenever you get a moment as AVPro would definitely be something I would pay for if I can get this working.

Chris-RH commented 1 year ago

Hi @MurkesM,

From what I can tell, UWP doesn't actually support RTSP/RTMP, although the documentation is a bit scarce. You would need to use HLS or DASH https://www.renderheads.com/content/docs/AVProVideo/articles/feature-streaming.html#uwp--hololens https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/adaptive-streaming

We have a free, fully featured, watermarked trial version that you can use to test against your requirements: https://github.com/RenderHeads/UnityPlugin-AVProVideo/releases

MurkesM commented 1 year ago

@Chris-RH Thank you for getting back to me so quickly :) I do have another question. In this link https://www.renderheads.com/content/docs/AVProVideo/articles/feature-streaming.html#uwp--hololens it says to "Make sure to tick the "InternetClient" capabilities option in Player Settings." I've looked through player settings for UWP, Android and Windows desktop and I'm not seeing that option at all. Is there something I could be doing wrong or are the docs out of date?

Chris-RH commented 1 year ago

Which version of Unity are you using?

MurkesM commented 1 year ago

2021.3.7f1 When I put in the RTMP url on the Media Player I get 2 warnings. Warning: RTMP protocol is not supported by AVPro Video, except when Windows DirectShow is used with an external codec library (eg LAV Filters). Warning: You need to set 'InternetClient' capability in your Player Settings when using URLs Also something to note, when in player settings and selecting the android tab, the second warning disappears but when selecting the UWP tab it comes back.

MurkesM commented 1 year ago

@Chris-RH

Chris-RH commented 1 year ago

Hi @MurkesM

I've just looked in Unity 2021.3.6. Player Settings -> UWP -> Publishing Settings -> Capabilities -> "InternetClient"

Yes, unfortunately the Direct Show API is only available for Windows, not UWP, which is why you can't use it for Hololens. LAV Filters is basically just a codec pack (https://github.com/Nevcairiel/LAVFilters/releases) See, UWP just has WinRT and Media Foundation API (https://www.renderheads.com/content/docs/AVProVideo/articles/component-media-player.html#platform-specific---windows-uwp) And Windows has WinRT, Media Foundation and DirectShow (Under the DIrectShow options, you can specify to use LAV filters) https://www.renderheads.com/content/docs/AVProVideo/articles/component-media-player.html#platform-specific---windows

MurkesM commented 1 year ago

@Chris-RH Alright, so even though here https://www.renderheads.com/content/docs/AVProVideo/articles/feature-streaming.html RTMP is in the Windows/UWP section, its not actually supported on UWP? If thats the case, do you know any other options for streaming RTMP data into Unity for a UWP build? I appreciate you looking into this for me and helping me with it :)

MurkesM commented 1 year ago

@Chris-RH Also do you know if there are plans to add that functionality to AVPro?

Chris-RH commented 1 year ago

I don't believe it is an option for UWP. As far as I can see, you would need to use HLS or DASH. I can't find any mention of RTMP in their documentaion.

MurkesM commented 1 year ago

@Chris-RH Gotcha, thank you for getting back to me and answering my questions. I appreciate it

Chris-RH commented 1 year ago

You are very welcome