Synchronizing multiple videos & controlling audio playback

Thanks again for clarifying. It sounds like VLCJ-Pro achieves the desired behavior but is shipped with a commercial license. I’m not sure which exemptions may apply for educational purpose and whether it would make sense to add an adapter for VLCJ-Pro and let users obtain a license for it independently. There are probably more urgent requirements for ELAN than adding another media framework option…

To find a solution for my initial problem, I had following idea:
If the volume control behavior is framework specific, I may find another framework that is able to playback the media and also implements correct volume control behavior. With that idea, I 1) double-checked which player frameworks recognize the media I would like to playback and then 2) repeated the volume control test for them.

1. Double-checked which player frameworks recognize the media I would like to playback - results:

  • Java Direct Show recognizes the media - but only if “Microsoft Media Foundation” checkbox is disabled
  • JavaFX Media Framework does not recognize the media
  • VLC Player Library recognizes the media

For the non-working options (Java Direct Show with Microsoft Media Foundation enabled, JavaFX Media Framework), a blue window appears instead of the video, playback is not possible and the application log shows messages such as:

Oct 19, 2023 1:51:20 PM mpi.eudico.client.annotator.recognizer.api.RecogAvailabilityDetector createBundle
SCHWERWIEGEND: Cannot load the recognizer class: nl.mpi.recognizer.local.hecate.HecateRecognizer - Class not found
Oct 19, 2023 1:51:20 PM nl.mpi.jni.NativeLogger nlog
NATIVE: N_JMMFPlayer.getAspectRatio: cannot calculate the aspect ratio, height is 0, id 1845344653808
Oct 19, 2023 1:51:20 PM nl.mpi.jni.NativeLogger nlog
NATIVE: N_JMMFPlayer.getAspectRatio: cannot calculate the aspect ratio, height is 0, id 1845344653808
Oct 19, 2023 1:51:20 PM mpi.eudico.client.annotator.player.JMMFMediaPlayer getAspectRatio
WARNUNG: The aspect ratio is not initialized yet: 0.0
Oct 19, 2023 1:51:20 PM mpi.eudico.client.annotator.player.JMMFMediaPlayer getSourceWidth
WARNUNG: Width not initialized yet: 0

If you’re interested in a full log output, let me know.
According to older posts (1, 2) in the forum, there is currently no solution for playback failures associated with the aspect ratio message. Is that still correct?

2. Repeat volume control test with alternative working media framework:

I went on with the Java Direct Show (without “Microsoft Media Foundation”) option, hoping to have full control over the media volumes. I just reran the 8 steps with that framework. This time, results of steps 6-9 are similar to those I reported earlier for VLCJ except for playback - at playback, the behavior described by you (for step 6) occurs in all of these steps:

hitting the Play button in ELAN sets the system volume to the volume of the first player

Confusingly, after resetting the media framework to VLCJ and restarting ELAN, the behavior (including playback) does not differ from the one with Java Direct Show, that is, I can no more reproduce that the last volume set on any player will be used at playback time. I’m not sure why this is the case.

Besides this reproducibility issue, I would like to know:
Can you reproduce that volume control behavior also for the other media frameworks (not only VLCJ)? That is, the volume of the first track will be used at playback time for all tracks, effectively playing back audio of all tracks or of no track at all? Or is it more likely that for some reason, the switch between the frameworks in my local ELAN installation has not been applied correctly?

PS: I’m aware that my reply is mixing different issues (compatibility of media frameworks with some video files vs. audio playback of different media frameworks). If it is easier to proceed with each of them in separate threads in the forum or if more details are required, let me know.

Best, ASE