[vlc-devel] Split video output with LibVLC
Steve Lhomme
robux4 at ycbcr.xyz
Mon Oct 24 07:48:09 UTC 2022
Hi,
On 2022-10-24 9:41, Tobias Rapp wrote:
> On 21/10/2022 21:01, Rémi Denis-Courmont wrote:
>> Le 21 octobre 2022 16:45:59 GMT+03:00, Tobias Rapp
>> <t.rapp at noa-archive.com> a écrit :
>>> Hi,
>>>
>>> I'm currently trying to integrate LibVLC into one of my native
>>> Windows applications. Passing in a window handle via
>>> libvlc_media_player_set_hwnd() and starting playback works fine.
>>>
>>> Now I'd like to send video to two outputs simultaneously: Once to the
>>> window handle and another, scaled-down version to some callback
>>> handler for other visualization controls within the application.
>>>
>>> Is it possible to use libvlc_media_player_set_hwnd() and something
>>> similar to libvlc_video_set_callbacks() at the same time, where only
>>> the output sent to the callbacks is processed by some resize filter?
>>>
>>> Best regards,
>>> Tobias
>>>
>> Hi,
>>
>> This is not possible currently. You need to use callbacks for all
>> tracks, which is inefficient but at least it works.
>>
>> Or then you need to modify LibVLC.
>
> I'm currently looking into writing a custom module for that. Do you
> think it would be better to create a video output module for the
> down-scaled memory callbacks, or use a filter module that is inserted
> before the window handle output? Is this just a matter of taste or are
> there technical implications when choosing between those two?
If the second visualization is just the first one scaled and displayed
in a different location, it's possible to use the D3D11 callbacks for
that. You render into a texture and then you use that texture in your
code to display it in 2 different places. The scale will be handled on
your side (which can have a bad impact of subtitle rendering).
More information about the vlc-devel
mailing list