Apache OpenOffice (AOO) Bugzilla – Issue 12911
Video Support under linux
Last modified: 2013-03-06 22:20:03 UTC
Will there be video-support for OpenOffice version 1.1 running under Linux as suggested by the greyed-out menu-entry "Insert-->Video"? What video-formats will be supported?
Reassigned to Bettina.
this bug report describes a workaround http://www.openoffice.org/project/www/issues/show_bug.cgi?id=6979
Set to "NEW"
Table of Content ================ 0. Priority considerations 1. Fix 2. Required additional Software setup 3. Remaining Problems 0. Priority considerations ========================== Videos are very important in scientific presentations. On conferences, good presenters demonstrate the results of their work with videos. As we lastly experienced, videos can decide about funding or not funding of a project. Thus, non-working video support in OpenOffice.org will be a reason for us to cancel migration to OpenOffice by the end of the year. So I just had a look at the sources (of OOo 1.1.0rc4) and tried to find some kind of a fix. 1. Fix ====== Patching 3 files does the whole thing for videos on linux (OOo1.1.0rc4): in file: extensions/source/plugin/base/manager.cxx change the only appearance of sal_False in the call of provideNewStream to sal_True in file: extensions/source/plugin/base/context.cxx change the only appearance of sal_False in the call of provideNewStream to sal_True in file: extensions/source/plugin/base/xplugin.cxx around line 673 in call of NPP_NewStream change constant sal_False back to isfile. (This did not make sense, as isfile was constantly sal_False by call) All changes only affect one binary file, namely libpl645li.so. The patched binary of OOo 1.1.0 rc4 works with OOo 1.1.0 rc5 as well. 2. Required additional Software setup ===================================== After that, you should get the newest mplayerplug-in (I used 0.91), copy the mplayerplug-in.so file into the directory OpenOffice.org1.1.0/user/plugin/ and make sure you have the following entries in your /etc/mplayerplugin.conf: prefer-aspect=1 vo=x11 scaling=0 use-gui=no Then you need mplayer (I used 1.0pre1) but you will have to fix some bugs here as well. (see http://mplayerhq.hu/pipermail/mplayer-users/2003-September/037841.html and http://mplayerhq.hu/pipermail/mplayer-users/2003-September/037842.html) 3. Remaining Problems ===================== Finally, you will have working videos! Unfortunately Flash-plugin still crashes OpenOffice. Inserting Java-applets still works, but I think, they do not use the plugin. I did not try other plugins, as I do not know what else should be needed. Inserted videos will start running immediately upon insertion or upon page switch. You may resize them in "drawing mode". Unfortunately, you may not really communicate with them, i.e. you may not start them or restart them by clicking, you may not loop them, they are not included in the animation sequence of the slide, they are not printable (first frame should represent the video, in fact this could be done manually, if only the video could be part of an animation sequence). Upon page switch, OpenOffice does not really clean up. This does not affect mplayer, who terminates after the video is finished or crashes when his window disappears, but there is still a process pluginapp.bin running as zombie. Each restart of the video, caused by changing pages, causes a zombieprocess pluginapp.bin. And those may leave a black "window" at the video location on the screen in some of the slide display modes (e.g. the notes page). Changing the order of the slides by the tabs in drawing mode causes the videos not to display in the visible top-window of OOo any longer. Restarting OpenOffice with the reordered slides does work again. Unfortunately I do not have the time and capabilities to fix those more high level problems. Keywords: OpenOffice, Linux, Presentation, Video, Fix, Workaround
Additional Fix to clean up zombie-processes of pluginapp.bin: In file extensions/source/plugin/unx/sysplug.cxx: Add wait4(m_nCommPID,0,0,0); after line kill( m_nCommPID, 9 ); in destructor UnxPluginComm::~UnxPluginComm() You need the following additional includes in the same file: #include <sys/resource.h> #include <sys/wait.h> All changes affects the one and only binary file libpl645li.so On the notes view, videos are shown but in broken size (OOo 1.1.0 rc5) When reordering slides, the filename of included videos will be lost (verified in XML of document file) (OOo 1.1.0 rc5)
I'm attaching a patchset I made for OO 1.1 for the changes described above in case it is of any use. Also, while this seems to fix the problem with stale processes, there are copies of the movie being left in /tmp. It looks like OO is using a "kill 9" to stop the plugin which seems drastic. The plugin should be able to clean up after itself like it does when run from mozilla.
Created attachment 12300 [details] cleanup mplayer plugin support
mh->ka: can you please dispatch and/or set target milestone in correct way ?
reset target milestone from next build.
Looking at the patch, I have a number of concerns. 1) The comments in provideNewStream() explicitly say that the sal_False was changed from isfile becuase plugins like Acrobat Reader don't want an on-disk file // sal_False in the following statement should logically be isfile // but e.g. the acrobat reader plugin does not WANT a file Therefore, this change should be tested with Acrobat Reader before being committed. 2) Second, the patch changes all occurances of isfile when calling provideNewStream() to sal_True. for the same reasons above, this should be tested with other plugins before it can be committed. While it might provide working video support, it may well break everything else. This change will need to be QA'd first to make sure it doesn't break stuff.
.
accepted
started
mplayerplugin has other problems, too. e.g. it produces a little strange mime description, but one can workaround that. One can also workaround acrobat reader's problem by setting seekable to false in that case. But if i apply all that i can still not see anything being played. You wrote i need to fix something in mplayer; besides the fact that this will not be useful to any user unless a fixed version of mplayer gets released the links you posted do not point to anything patch like; frankly i won't begin to debug mplayer as it is a little out of OOo's scope. Can you give me a hint what you think i should do to make mplayer do its work ?
*** Issue 18652 has been marked as a duplicate of this issue. ***
mplayerplugin and mplayer play fine for me "out of the box" with version 1.0
mplayerplugin 1.2 and mplayer 0.90 do for me, too - in mozilla and konqueror. I couldn't get it to work in OOo yet.
OK, got it to run in OOo without any meddling with mplayer. Fixed in CWS vcl18
Are the files in /tmp cleaned up now?
not reliably. mplayerplugin should probably remove them in NPP_Destroy; i'll have another look at that.
got that, too. mplayerplugin relied on Xt callbacks to remove the temp files instead of NPP_Destroy as it IMHO should. Without its code being open i wouldn't have been able to fix this.
adjusted component field
pl->msc: please verify in CWS vcl18
resolved
(process:4572): GLib-GObject-CRITICAL **: gtype.c:1871: initialization assertion failed, use g_type_init() prior to this function (process:4572): GLib-GObject-CRITICAL **: gtype.c:1871: initialization assertion failed, use g_type_init() prior to this function (process:4572): GLib-GObject-CRITICAL **: gtype.c:1871: initialization assertion failed, use g_type_init() prior to this function (process:4572): GLib-GObject-CRITICAL **: file gtype.c: line 1937 (g_type_add_interface_static): assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed (process:4572): GLib-GObject-CRITICAL **: gtype.c:1871: initialization assertion failed, use g_type_init() prior to this function (process:4572): GLib-GObject-CRITICAL **: gtype.c:1871: initialization assertion failed, use g_type_init() prior to this function (process:4572): GLib-GObject-CRITICAL **: gtype.c:1871: initialization assertion failed, use g_type_init() prior to this function (process:4572): GLib-GObject-CRITICAL **: file gobject.c: line 615 (g_object_new): assertion `G_TYPE_IS_OBJECT (object_type)' failed
Hi, not fixed on my Redhat fedora core. see my last comment for the output of OOo when insert any video or audio file. Then the office loop. With the current master the office doesn't loop. however I get no video play. I have installed these Mplayer packages mplayerplug-in-2.45-fc1 mplayer-common-1.0pre3-1 mplayer-1.0pre3-1 I copy the file mplayerplug-in.so to the ~/StarOffice8/user/plugin directory. Bye Marc
pl->msc: the mplayer plugin you installed expects a running gtk and is in fact linked to gtk; it cannot run in any browser that is not gtk based - which includes OOo. We need a version that is X or Xt based. Still a crashing plugin should not cause OOo to hang since it runs in an external process. fixed in CWS vcl18
fixed
verify in CWS vcl18
On OpenOffice 1.1.1-rc3, the filenamestring transferred to the mplayerplug-in seems to be non NULL-Terminated... Using my personally patched mplayerplug-in that works fine with the above described OpenOffice patch I see that OpenOffice transmits the filename ending with a lot of dots instead of the filename alone. MPlayer started with the transmitted string does not find the file: File not found: '/home/schlechter/Desktop/test.avi........................ .........................................' Failed to open file:///home/schlechter/Desktop/test.avi............ ............................................................... (There are 86 Points, the visible string from file:/// to the last dot has a total length of 126 characters, quite near to this magic 128 number) Additionally, OOo freezes completely and has to be kill -9 ´ed... My libpl645.so file, patched for OOo 1.1.0-rc4 still works with OOo 1.1.1-rc4 together with my mplayerplug-in !
As newest mplayerplug-in is gtk-based and does no longer work with OOo, does anybody know some other plugin, that can be used with openoffice. As no existing plugin supports the actual interaction from openoffice-presenter to the videoplayer (MPlayer or whatever), i.e. transmission of starting, looping and pausing options from OpenOffice-Presenter to some videoplayer, extracting the first image of the video for printouts, allowing for more than one video on a page, ... I believe OpenOffice.org should provide its own configurable plugin (=interface to some videoplayers, imageextractors, ... with their own special parameters).
Hi, what about building the plugin with --enable-x? :-) (which I do in Debian for exact the same reason): mplayerplug-in (2.45-4) unstable; urgency=low . * some programs wanting to use this plugin are not gtk(2), so just use --enable-x; [...] will _probably_ create -x and -gtk2 packages or somesuch.. [...] Regards, René
plugger-5.0 is working. And it is quite easy to customize... Unfortunately, OpenOffice 1.1.1 final still does not wait4 for pluginapp.bin after killing it, leading to lots of zombies after intensive use of plugins. There is another problem with different working views of a slide show: - Drawing view and presentation mode both work well - Video does not show at all in Preview (low priority) - Video is displayed with filename only in slides view (low priority) - Notes view displays the video _unscaled_ somewhere on the page... quite ugly :-(, the same is true for handout view. (High priority!) I believe this view problem is video-independent, it's most probably the same problem for all kind of plugins. Finally plugins in general should be allowed to be part of an animation sequence, which in fact they seem to be. Unfortunately the allowed settings are ignored, videos start playing directly when the slide is brought up. Additionnally it should be possible to configure wether a "plugged in media", a video, a flash animation, ... is played only once or more often, wether it should be stopped after each playback or not... Flashplayer-plugin still crashes OpenOffice.org Inserting Java-Applets works, but they are not scaled and flicker enormously. Both flash and java plugins would be a very very nice addon especially for teaching, and ... M$ does not have it (yet).
works in src680m33s1 -> close
Created attachment 80381 [details] video