Search code examples
javajnlpjava-web-startapplet

How Java video can work, within a friendly installation procedure?


How can you capture Video using Java ? You have to use JMF ? In my research Audio part is solved, someone would not require Audio with JMF (in case to reduce installation headaches)

For Java Video, In my test case:

  • Without JMF installed in my PC, it says package does not exist, but i have Java installed. import javax.media.*;

  • With JMF installed in my second PC, it works. which means JAVA + JMF seperately need to be installed.

But:

  • There are many users, want simple installation procedure, for example: Download -> click install -> run -> talk and watch

OR

  • Many users dont follow install JAVA and then install JMF and then finally install my application to talk and watch

Solution:

  • JNLP is one hope, but can i embed whole JMF as source for cross platform and deploy it within my application ? To minimize the installation procedure to focus user friendly installation method.

  • Is there any other way arround to minimize this installations headache, and completely switch to some other class/libraries, where i can do RAW video capture for h264, compress video, text overlap, streaming etc etc ?

Follow ups:

JMF Cross platform:
.
├── bin
│   ├── jmfcustomizer
│   ├── JMF.ico
│   ├── jmfinit
│   ├── jmfregistry
│   └── jmstudio
├── doc
│   ├── attributions.html
│   ├── formats.html
│   └── readme.html
└── lib
    ├── customizer.jar
    ├── jmf.jar
    ├── jmf.properties
    ├── mediaplayer.jar
    └── multiplayer.jar

3 directories, 13 files

Solution

  • JMF can be deployed via JNLP. (1)

    It would be achieved by calling the install procedure from within an installer-desc JNLP. The installer is invoked a single time, when the app. is first launched.

    As to what to do within that installer JNLP, there are two options.

    One way is to call the normal installer (e.g. for Windows - that would be the .exe), but that has the disadvantage that the user would be prompted to reboot. I checked that by not rebooting and found it to be unnecessary, but the message is irritating. JWS can partition the download so that Windows gets the .exe, while Mac and *nix get whatever installer is appropriate to them.

    The other way is to simply add the appropriate JMF Jars into the resources section of your main JNLP file, but you might need to write some code to invoke the JMFRegistry, which I think is done automatically in the installer.

    1) Note: I have tested neither method.

    Edit: Forgot to mention that I have a little demo. of the ExtensionInstallerService that is invoked via. the installer-desc mentioned above.