[Lazarus] Play video from memory
"Leonardo M. Ramé"
l.rame at griensu.com
Fri Mar 6 16:41:32 CET 2015
To embed mplayer into a window you must know its ID. Window IDs have a
relation with the WindowHandle, but that value must be somehow
"translated" to be understood by X11 (or Windows). I don't know how to
translate it :(.
For example, If I use Format('%x', [Self.WindowHandle]) I get the Hex
value BB5380, then, using the wininfo tool I can get the ID. Just run
xwininfo and click on the window you want to embed mplayer into.
In my example I got:
xwininfo: Window id: 0x2800048 "BB5380"
Absolute upper-left X: 662
Absolute upper-left Y: 270
Relative upper-left X: 1
Relative upper-left Y: 24
Width: 320
Height: 240
Depth: 24
Visual: 0x20
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x22 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +662+270 -1744+270 -1744-258 +662-258
-geometry 320x240+661+246
As you can see, the first line displays the same Hex number I get from
Lazarus, and 0x2800048, this is the value mplayer expects.
So, to embed a movie into a window, when you know the window Id, you
just launch mplayer using this options:
mplayer -wid 0x2800048 /home/leonardo/Imágenes/Fotos/2009/11/21/mvi_0260.avi
Please, if any you know how to translate BB5380 to 0x2800048 I'll be
glad to learn.
El 05/03/15 a las 18:51, Philippe Lévi escibió:
> and you know how to tell MPLAYER to show the video in a specific window? (using WINDOWS, and glutCreateWindow).
>
> thanks
> Philippe
>
> ________________________________________
> De: "Leonardo M. Ramé" <l.rame at griensu.com>
> Enviado: quinta-feira, 5 de março de 2015 17:44
> Para: lazarus at lists.lazarus.freepascal.org
> Assunto: Re: [Lazarus] Play video from memory
>
> Yes, you can!.
>
> 1) Load your Video to a TStream (TMemoryStream for example).
> 2) Use TProcess to execute "mplayer -", the "-" is the parameter.
> 3) Send your stream to the standard input of the process.
>
>
> El 05/03/15 a las 16:45, aradeonas escibió:
>> Thank you Leonardo,
>>
>> I saw it before but it doesn't seem there is a way to pass memory to it
>> or I couldn't find out how.
>> Do you know?
>>
>> Regards,
>> Ara
>>
>> On Thu, Mar 5, 2015, at 11:40 AM, Leonardo M. Ramé wrote:
>>> It looks like MPlayer can do this:
>>> http://www.mplayerhq.hu/DOCS/HTML/en/streaming.html
>>>
>>> El 04/03/15 a las 13:29, aradeonas escibió:
>>>> Hi,
>>>>
>>>> Any one know a library or way to buffer video file into memory and then
>>>> pass it to player?
>>>> Any simple player do the job but it should support a way to open file
>>>> from memory.
>>>>
>>>> Regards,
>>>> Ara
>>>>
>>> --
>>> _______________________________________________
>>> Lazarus mailing list
>>> Lazarus at lists.lazarus.freepascal.org
>>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
More information about the Lazarus
mailing list