Would it be possible to create an extension that embeds vlc or another video and audio player to LibreOffice? And then have shortcuts to play/pause, file speed faster/slower, timestamps and so on? Do you have any suggestion on how can it be possible?
Hi, you are here on a site user help user via QA.
If you want to submit a suggestion for improvement, you have to do it on Bugzilla.
However, I think the probability of it being implemented is very low.
Since LibreOffice can be used on all major operating systems, this alone would be a problem.
In addition, many of the codecs required for this are under license and certainly could not be further developed by LibreOffice.
If you specify your operating system, the LibreOffice version and what exactly you want to do, you may be helped.
@AndreaM1 posted concerning his (f/m) hope to get an extension.
Hmmm… I don’t know dedicated place for such a request. The LibO bug tracking system shouldn’t be.
Ofcourse somebody may suggest there (as an “enhancement bug”) to create API services for the purpose. Insofar I would also expect a little chance of success.
Addressing the legal concerns: Legal - VideoLAN .
I see the problem of in fact missing support for media in LibreOffice as one of most important problems in it. In fact, one can’t just insert essential elements of presentations (video/audio), and use it portably (which is one of the utter priorities of the project: your documents should look and behave consistently across systems and platforms, giving you freedom).
I don’t speak specifically about this question; it is more important to break the dependency on OS features, and integrate some well-established cross-platform multimedea library with reasonably wide codec support into LibreOffice.
And VLC could be a reasonable thing here: despite the VLC app is GPL, the project itself also develops libVLC, which is LGPL and thus is OK to use in LO code. It has a huge codec coverage. One of pros here is that we already had VLC (not libVLC) partially integrated in the past as an external optional dependency (as a GSoC project). The code was removed from core recently, but it is indeed still available in the git history, and whoever would want to implement libVLC integration, would easily find the code.
Of course, there may be other candidate libraries - there was still no definitive evaluation/discussion on this, and one may consider performance, quality, size, etc…
But anyway, it must be resolved. Current status is simply “Impress is not ready for production” without this resolved.
(And doing this would indeed enable the media support for other modules, like
writer discussed here.)
Did you miss to create the link?
@mikekaganski, ah, learned something again. Thanks for the enlightening insight.
So all that’s left is to find a developer or sponsor to make it happen.
No. I posted a comment in a topic tagged
My bad. Didn’t understand. However, large images don’t help me. They rather blight thinking in my case.
Thanks anyway. Finally I got it. (I had expected a link - in tdf#nnnn style e.g.)
An other option would be to use gstreamer on other platforms then Linux. But this would require installing additional SW on non-Linux; currently a hard sell. Code should be the same. The VLC avmedia backend was working on multiple platforms by just dlopen’ing libvlc, so I don’t see why gstreamer couldn’t work on other platforms too.
But coming back to the original question: implement a media player as a LO extension? AFAIK you can get the native window handle via UNO, so you could run a player in a thread and output the video via some overlay to the native window.
This is roughly the same way LO already does “multimedia” stuff. Video + Audio sync is hard enough, and LO eventually runs a lot of other stuff unthreaded, so LO just tells the media framework where to dump the video and then listens for status updates (or polling, but I don’t think so). See the interfaces in offapi/com/sun/star/media - core - Gitiles
I don’t know if you could even replace the default player component with your extension, if you implement the interface. Also I don’t know how the default avmedia component is selected.