[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