Author: andre
Date: 2010-03-24 10:11:16 +0100 (Wed, 24 Mar 2010)
New Revision: 41589
Modified:
mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
Log:
ordering of arguments
Modified:
mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
===================================================================
---
mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
2010-03-24 09:10:50 UTC (rev 41588)
+++
mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
2010-03-24 09:11:16 UTC (rev 41589)
@@ -34,8 +34,9 @@
/**
* The transcoder that uses <code>ffmpeg</code> to transcode media. Possible
parameters to be set in
- * 'createcaches.xml' are: format, acodec (-acodec), vcodec (-vcodec), vpre
(-vpre), aq (-aq),
- * ab (-ab), bitrate or b (-b), async (-async), framesPerSecond or r (-r),
audioChannels or ac (-ac),
+ * 'createcaches.xml' are: format, forceFormat (-f), acodec (-acodec), vcodec
(-vcodec),
+ * vpre (-vpre), aq (-aq), ab (-ab), bitrate or b (-b), async (-async),
framesPerSecond or
+ * r (-r), audioChannels or ac (-ac),
* width and height (combined to -s).
* Others can be added as extra parameters but will be at the end of the
commands parameters. See the
* documentation for FFmpeg for more information.
@@ -43,11 +44,12 @@
* @author Michiel Meeuwissen
* @version $Id$
*/
-...@settings({"format", "acodec", "vcodec", "vpre", "aq", "ab", "b", "async",
"r", "ac", "width", "height"})
+...@settings({"format", "forceFormat", "acodec", "vcodec", "vpre", "aq", "ab",
"b", "async", "r", "ac", "width", "height"})
public class FFMpegTranscoder extends CommandTranscoder {
private static final Logger log =
Logging.getLoggerInstance(FFMpegTranscoder.class);
+ String forceFormat = null;
String acodec = null;
String vcodec = null;
String vpre = null;
@@ -61,6 +63,10 @@
Integer width = null;
Integer height = null;
+ public void setForceFormat(String f) {
+ forceFormat = f;
+ }
+
/* Audio codec to use -acodec */
public void setAcodec(String a) {
acodec = a;
@@ -161,18 +167,36 @@
args.add("-i");
args.add(inFile.toString());
- if (acodec != null) {
- args.add("-acodec");
- args.add(acodec);
+ if (forceFormat != null) {
+ args.add("-f");
+ args.add(forceFormat);
}
+ // video
if (vcodec != null) {
args.add("-vcodec");
args.add(vcodec);
}
+ if (b != null) {
+ args.add("-b");
+ args.add(b);
+ }
+ if (r != null) {
+ args.add("-r");
+ args.add(r);
+ }
if (vpre != null) {
args.add("-vpre");
args.add(vpre);
}
+ if (width != null && height != null) {
+ args.add("-s");
+ args.add(width + "x" + height);
+ }
+ // audio
+ if (acodec != null) {
+ args.add("-acodec");
+ args.add(acodec);
+ }
if (aq != null) {
args.add("-aq");
args.add(aq);
@@ -181,23 +205,15 @@
args.add("-ab");
args.add(ab);
}
- if (b != null) {
- args.add("-b");
- args.add(b);
- }
- if (r != null) {
- args.add("-r");
- args.add(r);
- }
if (ac != null) {
args.add("-ac");
args.add(ac);
}
- if (width != null && height != null) {
- args.add("-s");
- args.add(width + "x" + height);
+
+ if (async != null) {
+ args.add("-async");
+ args.add(async);
}
-
args.add("-y"); // overwrite
args.add(outFile.toString());
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs