when i play movies with the FobsJMStudio then everthing is ok.
but when i try to play them with simpleplayer in java, the movie cannot be played.
when i convert the movie to mpeg1 then i can play it, but it is damn slow and it seems to me, that it doesn't play it via fobs but via the built in java videoplayer. when i rename fobs4jmf.jar the movie is still being played.
i want to know:
- which codecs can fobs use, and how can i add some video codecs?
- why does video playback work in fobsjmstudio but not in java?
my system:
windows xp
jdk 1.5 beta (also tried it with 1.4 but same result)
jochen
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Jochen.
I am having the same king of problems and, actually, you may see that we started a discussion thread earlier concerning this issue.
Just to make sure that we are experiencing the same behavior:
If you start Fobs JMStudio (Windows XP), and open a movie file, can you check the plugin settings (click on the "movie" icon, bottom-right corner, then select the plug-in setting tab, and click plug-in viewer)? Can you see that both the parser and the codec are com.omnividea.media.*?
If so, then, just like in my case, JMStudio does use the Fobs codecs.
Then, if I try to open a movie with Fobs (of a format not supported by jmf.jar, or forcing the program to use com.omnividea.media.*) it does not work.
Can you confirm if this is your experience?
If so, this is the same issue we are talking about in the other thread, showing that there is indeed a bug in the Windows XP implementation.
Jordi.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
you don't provide enough information in order to see where the problem resides. First of all, I recommend you search fobs forums; there's a topic discussing some issue related to custom players and Fobs in windows.
About your questions:
1 - Fobs supports all the codecs included in ffmpeg. There are pleny of them, probably more than what you will ever need. If you want to add an additional codec, then you should take a look at the ffmpeg library. You will need then to recompile Fobs with your custom ffmpeg version.
2 - FobsJMStudio is just a script to call JMStudio including fobs4jmf.jar iin the classpath. Take into account that, in order for Java (JMF) to use Fobs, two things are needed: appropiate jmf.properties file and access to both fobs4jmf.jar and fobs4jmf.dll. Further details can be found on the website fobs.sourceforge.net.
If you can provide more details about your custom player class, your jmf.properties file and the CLASSPATH you use, I may be able to help you more.
Cheers!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Let's see... There is not a simple answer to your question. The best way to be sure you're actually using fobs and not JMF drivers is to copy your Player class to the Fobs directory and then modify the provided script (a .bat file) to run your player and not JMSTudio. By the lines in your message I assume that's what you are currently doing. If you're not, this is the first thing to try.
If the issue persists, then I can think of the following reasons for it:
- You're player uses an incorrect datasource (this is the same issue discussed in another topic.... the Parser receive
s a datasource which is not valid for a reason we haven't found yet... Hopefuly, this will be fixed next week).
- The .dll file cannot be found.
- The video is not supported by Fobs.
My experience is that the jmf.properties files that is used is the one located in the folder in which jmf.jar resides. Look in the java console for a line similar to:
Dynlink resolved
This means that Fobs library has been found and has been tried to be used. If the problem exists even with such a line in the console, then I think you're having the exact same issue as the user of the other topic. As I told before, I will try to fix this issue next week.
Cheers
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
perhaps this log can help you.
it seems to me that it tries to use the wrong audio codec.
#
# JMF Version 2.1.1e
#
## Platform: Windows XP, x86, 5.1
## Java VM: Sun Microsystems Inc., 1.5.0-beta2
$$ Profile: instantiation: 0 ms
!! Input DataSource: com.omnividea.media.protocol.file.DataSource@bb7465
!! is not compatible with the MediaEngine.
!! It's likely that the DataSource is required to extend PullDataSource;
!! and that its source streams implement the Seekable interface
!! and with random access capability.
$$ Profile: instantiation: 0 ms
## Player created: com.sun.media.content.unknown.Handler@115273a
## using DataSource: com.sun.media.protocol.file.DataSource@186768e
$$ Profile: instantiation: 0 ms
!! Input DataSource: com.omnividea.media.protocol.file.DataSource@1bcc0bc
!! is not compatible with the MediaEngine.
!! It's likely that the DataSource is required to extend PullDataSource;
!! and that its source streams implement the Seekable interface
!! and with random access capability.
$$ Profile: instantiation: 0 ms
## Player created: com.sun.media.content.unknown.Handler@3570b0
## using DataSource: com.sun.media.protocol.file.DataSource@1d6776d
$$ Profile: parsing: 16 ms
## Building flow graph for: file:/D:/java/projects/iVision/Media2/video/PlusCity_Badezimmer.mov.avi.mpg
## Building Track: 0
## Input: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
## Failed to open plugin com.sun.media.codec.audio.mpa.NativeDecoder@1394894. Will re-build the graph allover again
## Here's the completed flow graph:
com.ibm.media.parser.video.MpegParser@1198891
connects to: com.sun.media.codec.audio.mpa.JavaDecoder@1551d7f
format: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
com.sun.media.codec.audio.mpa.JavaDecoder@1551d7f
connects to: com.sun.media.renderer.audio.DirectAudioRenderer@14c194d
format: LINEAR, 22050.0 Hz, 16-bit, Stereo, BigEndian, Signed
$$ Profile: graph building: 62 ms
$$ Profile: realize, post graph building: 31 ms
XX Unable to handle format: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
XX Failed to prefetch: com.sun.media.PlaybackEngine@1e13d52
XX Error: Unable to prefetch com.sun.media.PlaybackEngine@1e13d52
$$ Profile: parsing: 0 ms
## Building flow graph for: file:/D:/java/projects/iVision/Media2/video/PlusCity_Wohnzimmer.mov.avi.mpg
## Building Track: 0
## Input: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
## Failed to open plugin com.sun.media.codec.audio.mpa.NativeDecoder@1b000e7. Will re-build the graph allover again
## Here's the completed flow graph:
com.ibm.media.parser.video.MpegParser@b76fa
connects to: com.sun.media.codec.audio.mpa.JavaDecoder@b01d43
format: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
com.sun.media.codec.audio.mpa.JavaDecoder@b01d43
connects to: com.sun.media.renderer.audio.DirectAudioRenderer@1be0f0a
format: LINEAR, 22050.0 Hz, 16-bit, Stereo, BigEndian, Signed
$$ Profile: graph building: 109 ms
$$ Profile: realize, post graph building: 16 ms
XX Unable to handle format: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
XX Failed to prefetch: com.sun.media.PlaybackEngine@21b220
XX Error: Unable to prefetch com.sun.media.PlaybackEngine@21b220
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
it seems you've came across the same issue we've been discussing in the other topic of this forum. For some reason, the Parser is not able to recognize the datasource. Two more things you can try:
- Compile ffmpeg and try to open your video file using:
ffmpeg -i videofilename.mpg
Ffmpeg will show you the format and tracks of your video file if it is able to recognise it. If it is unable, then there few we can possibly do.
- Use other operating system. This issue seems to be related to windows. I'm gonna try to fix it this week, but don't count to have a solution till next thursday; I have two more free days of vacation!!
I hope this timing is good for you.... Cheers!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hi!
when i play movies with the FobsJMStudio then everthing is ok.
but when i try to play them with simpleplayer in java, the movie cannot be played.
when i convert the movie to mpeg1 then i can play it, but it is damn slow and it seems to me, that it doesn't play it via fobs but via the built in java videoplayer. when i rename fobs4jmf.jar the movie is still being played.
i want to know:
- which codecs can fobs use, and how can i add some video codecs?
- why does video playback work in fobsjmstudio but not in java?
my system:
windows xp
jdk 1.5 beta (also tried it with 1.4 but same result)
jochen
Hi Jochen.
I am having the same king of problems and, actually, you may see that we started a discussion thread earlier concerning this issue.
Just to make sure that we are experiencing the same behavior:
If you start Fobs JMStudio (Windows XP), and open a movie file, can you check the plugin settings (click on the "movie" icon, bottom-right corner, then select the plug-in setting tab, and click plug-in viewer)? Can you see that both the parser and the codec are com.omnividea.media.*?
If so, then, just like in my case, JMStudio does use the Fobs codecs.
Then, if I try to open a movie with Fobs (of a format not supported by jmf.jar, or forcing the program to use com.omnividea.media.*) it does not work.
Can you confirm if this is your experience?
If so, this is the same issue we are talking about in the other thread, showing that there is indeed a bug in the Windows XP implementation.
Jordi.
Hi,
you don't provide enough information in order to see where the problem resides. First of all, I recommend you search fobs forums; there's a topic discussing some issue related to custom players and Fobs in windows.
About your questions:
1 - Fobs supports all the codecs included in ffmpeg. There are pleny of them, probably more than what you will ever need. If you want to add an additional codec, then you should take a look at the ffmpeg library. You will need then to recompile Fobs with your custom ffmpeg version.
2 - FobsJMStudio is just a script to call JMStudio including fobs4jmf.jar iin the classpath. Take into account that, in order for Java (JMF) to use Fobs, two things are needed: appropiate jmf.properties file and access to both fobs4jmf.jar and fobs4jmf.dll. Further details can be found on the website fobs.sourceforge.net.
If you can provide more details about your custom player class, your jmf.properties file and the CLASSPATH you use, I may be able to help you more.
Cheers!
hi! (i'm the nobody from above)
i suppose that when i run the player via java, somehow he takes the wrong properties file or the wrong .jar file.
1. when i run jmstudio and i watch a video -> plugin viewer he takes ffmpeg audio and video codecs.
batch file:
%JAVA_CMD% -classpath fobs4jmf.jar;jmf.jar JMStudio
2. when i run SimplePlayer and i watch a video an error occurs cause he uses mpegblablabla codec instead of ffmpeg.
batch file:
%JAVA_CMD% -classpath fobs4jmf.jar;jmf.jar SimplePlayer
How can i tell simpleplayer which codecs it should use.
jochen
Hi nobody ;)
Let's see... There is not a simple answer to your question. The best way to be sure you're actually using fobs and not JMF drivers is to copy your Player class to the Fobs directory and then modify the provided script (a .bat file) to run your player and not JMSTudio. By the lines in your message I assume that's what you are currently doing. If you're not, this is the first thing to try.
If the issue persists, then I can think of the following reasons for it:
- You're player uses an incorrect datasource (this is the same issue discussed in another topic.... the Parser receive
s a datasource which is not valid for a reason we haven't found yet... Hopefuly, this will be fixed next week).
- The .dll file cannot be found.
- The video is not supported by Fobs.
My experience is that the jmf.properties files that is used is the one located in the folder in which jmf.jar resides. Look in the java console for a line similar to:
Dynlink resolved
This means that Fobs library has been found and has been tried to be used. If the problem exists even with such a line in the console, then I think you're having the exact same issue as the user of the other topic. As I told before, I will try to fix this issue next week.
Cheers
hi!
perhaps this log can help you.
it seems to me that it tries to use the wrong audio codec.
#
# JMF Version 2.1.1e
#
## Platform: Windows XP, x86, 5.1
## Java VM: Sun Microsystems Inc., 1.5.0-beta2
$$ Profile: instantiation: 0 ms
!! Input DataSource: com.omnividea.media.protocol.file.DataSource@bb7465
!! is not compatible with the MediaEngine.
!! It's likely that the DataSource is required to extend PullDataSource;
!! and that its source streams implement the Seekable interface
!! and with random access capability.
$$ Profile: instantiation: 0 ms
## Player created: com.sun.media.content.unknown.Handler@115273a
## using DataSource: com.sun.media.protocol.file.DataSource@186768e
$$ Profile: instantiation: 0 ms
!! Input DataSource: com.omnividea.media.protocol.file.DataSource@1bcc0bc
!! is not compatible with the MediaEngine.
!! It's likely that the DataSource is required to extend PullDataSource;
!! and that its source streams implement the Seekable interface
!! and with random access capability.
$$ Profile: instantiation: 0 ms
## Player created: com.sun.media.content.unknown.Handler@3570b0
## using DataSource: com.sun.media.protocol.file.DataSource@1d6776d
$$ Profile: parsing: 16 ms
## Building flow graph for: file:/D:/java/projects/iVision/Media2/video/PlusCity_Badezimmer.mov.avi.mpg
## Building Track: 0
## Input: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
## Failed to open plugin com.sun.media.codec.audio.mpa.NativeDecoder@1394894. Will re-build the graph allover again
## Here's the completed flow graph:
com.ibm.media.parser.video.MpegParser@1198891
connects to: com.sun.media.codec.audio.mpa.JavaDecoder@1551d7f
format: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
com.sun.media.codec.audio.mpa.JavaDecoder@1551d7f
connects to: com.sun.media.renderer.audio.DirectAudioRenderer@14c194d
format: LINEAR, 22050.0 Hz, 16-bit, Stereo, BigEndian, Signed
$$ Profile: graph building: 62 ms
$$ Profile: realize, post graph building: 31 ms
XX Unable to handle format: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
XX Failed to prefetch: com.sun.media.PlaybackEngine@1e13d52
XX Error: Unable to prefetch com.sun.media.PlaybackEngine@1e13d52
$$ Profile: parsing: 0 ms
## Building flow graph for: file:/D:/java/projects/iVision/Media2/video/PlusCity_Wohnzimmer.mov.avi.mpg
## Building Track: 0
## Input: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
## Failed to open plugin com.sun.media.codec.audio.mpa.NativeDecoder@1b000e7. Will re-build the graph allover again
## Here's the completed flow graph:
com.ibm.media.parser.video.MpegParser@b76fa
connects to: com.sun.media.codec.audio.mpa.JavaDecoder@b01d43
format: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
com.sun.media.codec.audio.mpa.JavaDecoder@b01d43
connects to: com.sun.media.renderer.audio.DirectAudioRenderer@1be0f0a
format: LINEAR, 22050.0 Hz, 16-bit, Stereo, BigEndian, Signed
$$ Profile: graph building: 109 ms
$$ Profile: realize, post graph building: 16 ms
XX Unable to handle format: mpegaudio, 22050.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 8000.0 frame rate, FrameSize=11264 bits
XX Failed to prefetch: com.sun.media.PlaybackEngine@21b220
XX Error: Unable to prefetch com.sun.media.PlaybackEngine@21b220
Hi,
it seems you've came across the same issue we've been discussing in the other topic of this forum. For some reason, the Parser is not able to recognize the datasource. Two more things you can try:
- Compile ffmpeg and try to open your video file using:
ffmpeg -i videofilename.mpg
Ffmpeg will show you the format and tracks of your video file if it is able to recognise it. If it is unable, then there few we can possibly do.
- Use other operating system. This issue seems to be related to windows. I'm gonna try to fix it this week, but don't count to have a solution till next thursday; I have two more free days of vacation!!
I hope this timing is good for you.... Cheers!
Hi!
It now works on my Laptop within the java-ide (idea).
But when i copy the files to the pc that we use for our software the videos cannot be played.
is there a possibility to tell the SimplePlayer which codecs or wich plugins it should use?
jochen