hxCodec icon indicating copy to clipboard operation
hxCodec copied to clipboard

Enable playback of video from bytes

Open EliteMasterEric opened this issue 2 years ago • 3 comments
trafficstars

It would be useful to be able to take a video file as bytes, and play them back in hxCodec as a video, without having to have the video on the disk, or have the video on a remote server.

The public interface on the video handler for this functionality would look something like this:

public function playVideoFromBytes(videoData:haxe.io.Bytes, shouldLoop:Bool = false);

This could be implemented using the following function: https://videolan.videolan.me/vlc/group__libvlc__media.html#ga591c3cbe56444f1949165b2b9b75d8e2

LIBVLC_API libvlc_media_t* libvlc_media_new_callbacks (libvlc_instance_t * instance, libvlc_media_open_cb open_cb, libvlc_media_read_cb read_cb, libvlc_media_seek_cb seek_cb, libvlc_media_close_cb close_cb, void * opaque);

This allows defining your own functions for opening, reading, seeking (fast-forwarding or rewinding) and closing a media file. We just need to incorporate these with Haxe code to access a byte array.

EliteMasterEric avatar May 07 '23 03:05 EliteMasterEric

this whould be useful but then agian it requires libvlc 4.0.0 and i don't think the libs work for mac

JonnycatMeow avatar May 08 '23 04:05 JonnycatMeow

this whould be useful but then agian it requires libvlc 4.0.0 and i don't think the libs work for mac

libvlc_media_new_callbacks was added in libvlc 3.0

EliteMasterEric avatar May 08 '23 17:05 EliteMasterEric

oh ok

JonnycatMeow avatar May 08 '23 18:05 JonnycatMeow