[vlc-devel] Re: Java APIs for VLC
Kuldipsingh Pabla
Kuldipsingh.Pabla at Sun.COM
Tue Apr 11 01:43:16 CEST 2006
Hi Filippo,
This is a good example. And I still need more hand holding from you.
What I would like to do is while playing a clip inside "SwingClient", I
would like to transcode it to mp4. For this, here is what I am looking
for to do:
1) Enter mpeg2 clip name in the little text window - say test.mpeg2
2) Play the clip &
3) transcode it to mpeg4 and save it as a different file name - say
test.mp4.
4) Repeat (1) thru (3) with a new mpeg2 clip name.
All I would like to know is how to do it pro grammatically - set the
names of mpeg2 files and mpeg4 files once the client is launched and
transcode.
Meanwhile, my changes helps me compile and run it on Solaris10 too. I
would guess, it it generic enough to run on any Unix/Linux platform.
Thanx in advance,
-Kuldip
Filippo Carone wrote:
> Kuldipsingh Pabla ha scritto:
>
>>Now, I have a question. If I want to do transcoding while playing a
>>clip, how do I do it using your Java API? Do you have any samples? My
>>intention is play a clip and transcode into an mpg4 file (from mpeg2).
>>I'll greatly appreciate your help.
>
>
> First of all update jvlc from
> http://www.carone.org/publicsvn/jvlc/jvlc-trunk svn repository, since I
> fixed a bug to make this work properly.
>
> Here is the sample code:
>
> public class VLC {
>
> public static void main(String args[]) {
> JVLC jvlc = new JVLC(args);
> System.out.println(jvlc.playlist.itemsCount());
> jvlc.playlist.play(-1, null);
> try {
> Thread.sleep(10000);
> } catch (InterruptedException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
> System.out.println(".END.");
> }
>
> }
>
> As you can see, the JVLC class takes a String[] array, which contains
> the cmd line. If you run it in this way:
>
> java -Djava.library.path=. VLC myfile.avi --sout
> "#transcode{vcodec=mp4v,vb=$bitrate,scale=1,acodec=mpga,ab=192,channels=2}:duplicate{dst=std{access=file,mux=ogg,dst='file.avi'}}"
>
> it will transcode the myfile.avi file in a file.avi ogg file. Now focus
> on these lines:
>
> try {
> Thread.sleep(10000);
> } catch (InterruptedException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
>
> These mean vlc will run for 10secs, since the JVLC object does not wait
> for the playlist thread to end its tasks. If you use a GUI this problem
> doesn't show up, since the JVLC object presumably has the same lifespan
> of the main window.
>
> This sample anyway shows that you can use JVLC with the same command
> line of vlc expecting the same result.
>
> Let me know if there are problems running it in this way,
> cheers,
> filippo
>
--
Project Buz :: Orchestrated Communication :: http://software.sfbay/buz
--
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
More information about the vlc-devel
mailing list