Using JMF with FOBS4JMF
Hi there,
I installed Fobs4JMF to extend JMF for more Codecs. In JMStudio everything works fine, but it doesn't work within my applications. A Player cannot be found for the media files. Do I have to implement the codecs within my application in some way?
Thanks for your help!
Tim
JMF doesn't support MP4 or FLV videos, the support for those are coming from FOBS4JMF, which is a 3rd party add-on to JMF. It's the policy of these Sun forums that 3rd party add-ons and libraries are not supported here.
As such, you'll need to get FOBS4JMF support from the FOBS people.
Similar Messages
-
JMF with Fobs4jmf: Problem getting supported formats
I'm trying to use JMF with fobs4jmf to try stitching together video files into a single file. Fortunately, I found a sample program to do just that in the SDN website (http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/Concat.html).
I copied and pasted the Concat.java class in a new Eclipse Java class, set up the classpaths, and tested it. (I've gone through the pain of setting up and resetting classpaths so that the JMF diagnostics is able to detect the correct JMF installation in my machine).
However, in the tryMatch method of Concat.java, I am getting an empty array of Format objects, represented by the "supported" variable, during a call to the following:
{color:#0000ff}TrackControl tc = pInfo[0].tracksByType[type][trackID].tc;
Format origFmt = tc.getFormat();
Format newFmt, oldFmt;
Format supported[] = tc.getSupportedFormats();
for (int i = 0; i < supported.length; i++) {
if (supported[i] instanceof AudioFormat) {
// If it's not the original format, then for audio, we'll
// only do linear since it's more accurate to compute the
// audio times.
if (!supported.matches(tc.getFormat()) &&
!supported[i].getEncoding().equalsIgnoreCase(AudioFormat.LINEAR))
continue;
{color:#000000}Here's my problem: While on debug mode, I see that the "supported" variable shows an empty array, when I look deeper in the TrackControl tc variable and look the its supportedFormats instance variable, I can see that it has a value. For my testing, I used a .mov file and the supportedFormats variable contains an {color:#0000ff}AudioFormat{color} with the value {color:#0000ff}mp4a, 32000.0 Hz, 16-bit, Stereo, BigEndian, Signed, FrameSize=32 bits{color}.
{color}
{color:#000000}I can't get past through this hurdle for now. Why am I getting an empty array of Format objects when the TrackControl tc variable actually contains value in its supportedFormats property?
I'd appreciate any help on this matter.
Anthony
{color}
{color}I again don't have my code in front of me, but I did take a look at the sample code my code is based on...
Format format = tracks.getFormat();
if (tracks[i].isEnabled()) {
supported = tracks[i].getSupportedFormats();
Just a shot in the dark, but perhaps getSupportedFormats returns the empty set when the TrackControl object is disabled?
Try enabling the TrackControl before you try to get its supported formats, and see if that changes the behavior in any sort of meaningful way? -
I was trying to use JMF with JBuilder 2005 but didnt know how to configure the libraries. I asked many people but no one could help me. I just found a web site about this problem so i would like to share it with those who are facing the same problem. hope it will help.
check http://www.computer-logic.net/javafaq/JFAQ_MediaFiles.htmput the two jar files,jdom jar and xerces.jar files into the resourec in jbuilder.sorry if i am not clear in the answer.
cheers -
Hello,
I've got an applet that consumes a lot of CPU. I'm studying to migrate this applet to a pda, but it's not enough cpu for it. I'm reading JMF docs and I decide to generate a movie with the output of an applet. �If it's possible? My idea is to create the movie on the server. I can modify my applet to avoid the use of the applet inheritance and then render the output to an standard movie format. After I will send the movie to the browser
You can see the applet here. Click on View route 3D under the flash movie.
http://www.tmb.net/vullanar/en_US/resultatcerca.jsp?tipusrepre=0&origenx=31514.420&origeny=82758.000&descripcioorigen=L1+-ARCDE+TRIOMF&destix=34704.550&destiy=87378.460&descripciodesti=L2+-ARTIGUES-SANTADRI%C0&tipustransport=0&numtransbords=2&tempscaminant=20&velocitatcaminant=1&tipushora=1&dia=27&mes=05&hora=12&minut=22&idioma=en_US&operador=TMB&poblacioorigen=1&poblaciodesti=1
Thanks in advance,
David B.passionforjava2 wrote:
...I have issues with applet unable to transmit voice using JMF. i know it is a security issue. As the error on the console says
java.lang.RuntimeException: No permission to capture from applets
Error : Couldn't create DataSourceWhen JMF is installed, it generally offers a checkbox to allow or deny 'capture in applet'. By default it is not checked, and if the user goes with that recommendation, I am not sure that anything will overrule that.
In a folder iPhone/myphone/What is the URL where we can visit this applet?
.. i have applet embedded html file along with .jar files with required classed and applet signed. Are you prompted to trust the digitally signed code? You can see the dialog I mean by visiting the applet linked from [http://pscode.org/test/docload/].
..Along with that .jar i do have jmf.jar and java.policy.applet file and jmf.properties file . Forget the policy files, they are a waste of time, and completely impractical for end users. -
Using JMF with two audio cards
Hello,
Is it possible to use two audio cards and have JMF address them independently. I'd like to be able to reference one for recording audio and the other for audio playback (simultaneously).
Thanks,
BenIt's definately possible, but you may have to interface with JavaSound to do it.
Theoretically, you should just be able to do javasound://0 for one, and javasound://1 for the other. No guarentees, though. You might have to wrap around JavaSound directly to get that level of control. -
How can I use JMF with IPv6 ? (Help me please)
I have to develop VoIPv6 application. Then I decide to use Java language and JMF to implement it.
I tried to run AVTransmit2,AVReceive2 and AVTransmit3,AVReceive3,RTPSocketAdapter, they're work in IPv4 but not work in IPv6.
So I tried to solve this problem by searching from websites.
One suggestion is adding the -Djava.net.preferIPv6Addresses=true when using the java command. But it doesn't work.
Another suggestion is modify the RTPSocketAdapter, I have read this source code but I have no idea to modify it.
So if anyone has an idea to solve my problem, please advise me please. Your answer will be appreciated.
================================================
I tested on WindowXP (already install IPv6), jdk1.5, JMF2.1.1e.Siri is not on the iPad 2.
-
I am developing a eclipse RCP application which makes use of the SWT toolkit. The application would be playing some media files. So i would like to make use of the JMF media player within SWT . How can I do this?
Ok it's all a matter of what run as SWT application do
it sets -Djava.library.path to the path of the SWT dlls
so we can make it point to the jmf Dlls path
goto Run..>Arguments>VM Arguments
then add
-Djava.library.path=.\\jmfdllswhere jmfdlls is folder contains ALL DLLs inside your project
or easily if you have installed jmf by installer
-Djava.library.path=C:\\WINDOWS\\system32I tried it it works
Note : this is applied when using any library that use native codewith swt e.g. jacob
this solution is from this thread
http://eclipsezone.com/forums/thread.jspa?threadID=80055
And this
http://eclipsezone.com/forums/thread.jspa?threadID=28020 -
Problem with fobs4jmf while playing various formats in JMF application
hi all,
well i am using fobs4jmf & JMF2.1.1e.while playing various formats like avi,dat,xvid etc. JStudio hangs & while playing them with my application program gives following run time error
FOLLOWING ERROR WHILE PLAYING .AVI FILE
Failed to configure: com.sun.media.PlaybackEngine@480457
IO exception: BasicPullParser: readBytes(): Reached end of stream while trying
to read 4 bytes
Error: Unable to realize com.sun.media.PlaybackEngine@480457
javax.media.CannotRealizeException
Exception in thread "main" java.lang.NullPointerException
at Mediaplayer.<init>(Mediaplayer.java:131)
at Mediaplayer.main(Mediaplayer.java:214)
Press any key to continue...
FOLLOWING ERROR WHILE PLAYING .DAT FILE
Failed to configure: com.sun.media.PlaybackEngine@17943a4
Bad header in the media: WAVE Parser: expected magic string WAVE, got CDXA
Error: Unable to realize com.sun.media.PlaybackEngine@17943a4
javax.media.CannotRealizeException
Exception in thread "main" java.lang.NullPointerException
at Mediaplayer.<init>(Mediaplayer.java:131)
at Mediaplayer.main(Mediaplayer.java:214)
Press any key to continue...
i have installed fobs4jmf & all its codec are added in jmf registry.
also is there som multiplexer that has to be added as i am already using a demultiplexer given along with fobs4jmf.
plz reply....
mayank
[email protected]Hi everyone, I am actually trying to make a media player using
JMF and FOBS4JMF. My problem is that I've followed all the procedures to
install fobs4JMF and it all works fine until I try to register jar files using
jmstudio. In fact, it works when i open runjmstudio.bat. The movie is played
fine, jars are correctly registered ... but when I close it and I open jmstudio
again it fails and I get the error : "Failed to realize: input media not
supported: XVID video, mpgelayer3 audio" plus codecs, demultiplexer ... are not registered anymore. In fact, it works with fobs_jmstudio.exe (the one in the fobd4jmf folder) and not with jmstudio.exe (the one in the jmf folder). When I try to add them manually into the second one, I get the error : "Could not add Item". I wonder if you had any idea of what type of problem it could be.
I've posted my problem in many forums but nobody seems to have the solution. Thanks a lot. -
Hello!
I am trying to solve the MediaLocator problem wirh JMF and IPv6. I read the solution for JMF with IPv6 allready brought up in this forum and the article 'http://www.ctie.monash.edu.au/DSS-IPv6/jmf-ipv6.htm', but it is not working.
I checked all hints, and all my IPv6 settings like reverse lookup on my machine... but I still get the message 'Cannot create the DataSink: java.io.IOException: No Valid RTP MediaLocator
Failed to create a DataSink for the given output MediaLocator' when i try to transmit a rtp stream.
I am using Linux with working (allready tested), Java 1.5 and JMF2.1.1e
Does anybody has a suggestion how to solve my problem and how to use JMF with IPv6.
Thanks
AdamHello!
I am trying to solve the MediaLocator problem wirh JMF and IPv6. I read the solution for JMF with IPv6 allready brought up in this forum and the article 'http://www.ctie.monash.edu.au/DSS-IPv6/jmf-ipv6.htm', but it is not working.
I checked all hints, and all my IPv6 settings like reverse lookup on my machine... but I still get the message 'Cannot create the DataSink: java.io.IOException: No Valid RTP MediaLocator
Failed to create a DataSink for the given output MediaLocator' when i try to transmit a rtp stream.
I am using Linux with working (allready tested), Java 1.5 and JMF2.1.1e
Does anybody has a suggestion how to solve my problem and how to use JMF with IPv6.
Thanks
Adam -
can someone tell me how to use JMF with particular programs?
Thanx..:)i also have similar problem. how i use jmf in develop a program to capture image with webcam and capture it.wat should i do before this stage.thanks.....
-
Hi ,
I am trying to use Jffmpeg with JMF to extend the supported format in JMF. I added jffmpeg-1.1.0.jar in class path variable.And I also made necessary changes to JMF Registry for JFFMPEG given in following url:
http://jffmpeg.sourceforge.net/download.html
But I could not play any mp4 video with JMF Studio.
So,can any one help me to solve this problem?
Thanks in advance
Regards,
JyotirmoyThis may not help much re Solaris, but is worth putting up here for reference for others, whilst the code structure may also be useful anyway being close to pure java and as a solution that reads & saves every frame.
For Windows the folder in the zip includes Fobs4jmf, and - if necessary - setting preferences via the runjmstudio.bat should mean that the sun.bat will work for .mp4 and .flv video files.
See vid2jpg.zip at http://www.exactfutures.com/index02.htm which includes the java source. -
I am trying to use ffmpeg with jmf. Do any one have any idea how to do it.
Get binary distro and follow Manual Installation section of http://fobs.sourceforge.net/f4jmf_first.html
-
Problem with M-JPEG by using JMF and JPEGCodec .
Hi, there,
I want to implement a M-JPEG using JMF and JPEGCodec, is that possible?(I already been trapped)
My problem is I have a video clip which is a AVI file, the video format is following:
Video format: RGB, 160x120, FrameRate=14.9, Length=57600, 24-bit, Masks=3:2:1, P
ixelStride=3, LineStride=480, Flipped.
I already convered a frame to an Image object(video format with JPEG and CVID doesn't work) ,
I can also convert this Image back as a Buffer, It works fine with me .But to use JPEGCodec( provided by com.sun.image.codec.jpeg ) I need to convert an Image to a BufferedImage, I use the following defination:
BufferedImage bImage = new BufferedImage(frameImage.getWidth(null), frameImage.getHeigh(null),BufferedImage.TYPE_INT_RGB); It seems work, But when I use JPEGImageEncoder to encoder this bImage and save as a jpg file,
everything is black .
I also need to cast BufferedImage to an Image: frameImage = (Image) bImage; then I convert frameImage back to Buffer.My video clip still running , but every frame now became black .
can someone help me? thanks in advance.I solved this problem . But I met a new problem.
I converted the above video clip into a JPEG and I want to create a DataSink for it. the messege is:
Video format: JPEG, 160x120, FrameRate=12.0, Length=3574
- set content descriptor to: AVI
- set track format to: JPEG
Cannot transcode any track to: JPEG
Cannot create the DataSink: javax.media.NoDataSinkException: Cannot find a DataS
ink for: com.sun.media.multiplexer.RawBufferMux$RawBufferDataSource@2b7eea
Transcoding failedHope some Java Experts can help me.
Regards. -
How to render audio with sample rate 48000hz using jmf
hi,
In my application i need to play the audio with jmf player with sampling rate 48000hz. but i found that jmf player plays the audio with sampling rate of 44100hz only.but my application needs to play the audio with sampling rate of 48000hz .please help me how to do this using jmf .
thanks in advance,hi,
In my application i need to play the audio with jmf player with sampling rate 48000hz. but i found that jmf player plays the audio with sampling rate of 44100hz only.but my application needs to play the audio with sampling rate of 48000hz .please help me how to do this using jmf .
thanks in advance, -
Problem with Transmitting media using JMF
Hello Everyone !!
I am working on an application called SIPSpeaker which listens for incoming calls, answer the call and plays a message. I am done with the first two parts of the application, i.e. it can successfully answers the call. I am now facing problem with transmitting audio to the SIP Phone (the caller). I am using JMF and I am trying to send the audio over RTP.
My code looks something like this....
locator = new MediaLocator("rtp://130.237.214.124:" + port + "/audio");
f = new File("C:/1.wav");
try {
ds = Manager.createDataSource(f.toURL());
} catch (NoDataSourceException ex) {
ex.printStackTrace();
} catch (MalformedURLException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
format = new Format[]{new AudioFormat(AudioFormat.GSM_RTP,8000,8,1)};
contentDesc = new ContentDescriptor(ContentDescriptor.RAW_RTP);
processor = Manager.createProcessor(ds);
waitForState(processor,Processor.Configured);
processor.setContentDescriptor(contentDesc);
processor.getTrackControls()[0].setFormat(format[0]);
waitForState(processor,Processor.Realized);
try {
sink = Manager.createDataSink(processor.getDataOutput(),locator);
System.out.println("6");
} catch (NotRealizedError ex) {
ex.printStackTrace();
} catch (NoDataSinkException ex) {
ex.printStackTrace();
processor.start();
try {
sink.open();
sink.start();
} catch (SecurityException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
we are required to work with a .wav file as input ....
i am new to java and to JMF and i have absolutely no idea whats going wrong...
please help me
Regards,
Sanjay !!Hello
following is the error i get
Failed to realize: com.sun.media.ProcessEngine@618d26
Cannot build a flow graph with the customized options:
Unable to transcode format: mpeglayer3, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 16000.0 frame rate, FrameSize=32768 bits
to: mpegaudio/rtp, 8000.0 Hz, 8-bit, Mono
outputting to: RAW/RTP
Error: Unable to realize com.sun.media.ProcessEngine@618d26
what could be the problem ???
Maybe you are looking for
-
I am trying to move Indesign CS6 to a new computer. To do this I need the serial number of the license. It seems I did not register the number on my Adobe account as nothing is there. I bought the software in August 2012 - and no longer have the invo
-
Hello I have a problem with my phone: i can't send or receive any MMS. I've checked with my operator (ORANGE),alla the parameters seem to be ok! Can you help me? PS: Sorry for my english... maybe can we continue in french?
-
Java Memory Management/Out of Memory
Hi Guys, I have a few questions about java memory management Because i keep encounter a lot of out of memory error which i think java does not handle Vector/ArrayList re initialisation automatically Asumme i have 2 million record in database and , i
-
Cancelling an invoice before it is released to accounting
I have 5 documents sitting in the VF04 T-code awaiting the creation of the billing document. I no longer wish to create these invoices. Is there a simple way to cancel them without following through the process to completion and then raising credit n
-
Hi Gurus, I am facing error while creating sales order.I am working on excise( TAXINN).while creating standard sales order there is no runtime error.But when i change customer pricing procedure relevant to tax it shows runtime error.there is no such