J'essaye de transcoder un fichier mxf en type flv en utilisant Xuggler.Utilisation de Xuggler pour MXF à FLV
Mais je reçois cette exception -
2011-09-23 11:48:06,328 [main] WARN com.xuggle.xuggler - Got error: picture is not of the same PixelType as this Coder expected (../../../../../../../csrc/com/xuggle/xuggler/StreamCoder.cpp:1204)
Mon code est très simple et il ressemble à ceci -
public static void main(String[] args) {
// create a media reader
IMediaReader mediaReader = ToolFactory.makeReader(inputFilename);
// create a media writer
IMediaWriter mediaWriter = ToolFactory.makeWriter(outputFilename,
mediaReader);
// add a writer to the reader, to create the output file
mediaReader.addListener(mediaWriter);
// create a media viewer with stats enabled
// IMediaViewer mediaViewer = ToolFactory.makeViewer(true);
// add a viewer to the reader, to see the decoded media
// mediaReader.addListener(mediaViewer);
// read and decode packets from the source file and
// and dispatch decoded audio and video to the writer
while (mediaReader.readPacket() == null)
;
}
Il fonctionne pour les fichiers comme types MP4 et MOV.
N'importe quel pointeur s'il vous plait.
Puisque personne n'a répondu et que je n'ai trouvé aucune solution, j'ai décidé de faire en utilisant des arguments de commande de Java.
J'ai essayé et je reçois des erreurs -
public class FfmpegCommandTest {
public static void main(String args[]) {
String commandStr[] = { "ffmpeg -f dv -i \"C:\temp\0001NY.MXF\" -ar 44100 -v codec libx264 -maxrate 2000k -bufsize 2000k -vf scale=\"iw/2:ih/2\" -strict experimental -vstats_file \"C:\nasir\progress.txt\" \"C:\temp\0001NYoutput-short1.mov\"" };
// print the command to execute
for (String x : commandStr) {
System.out.print(x + " ");
}
// execute ffmpeg with the command generated by the previous segment
try {
ProcessBuilder proc = new ProcessBuilder(commandStr);
proc.directory(new File("C:\temp"));
//proc.command(commandStr);
proc.start();
} catch (IOException ex) {
ex.getMessage();
ex.printStackTrace();
}
}
}
l'erreur est
The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at com.xuggle.xuggler.demos.FfmpegCommandTest.main(FfmpegCommandTest.java:21)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)