summaryrefslogtreecommitdiff
path: root/gtk2_ardour/transcode_ffmpeg.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-10-23 23:34:21 +0200
committerRobin Gareus <robin@gareus.org>2015-10-23 23:34:21 +0200
commita50af45a140a25778b3a33917996e45dfda562a1 (patch)
tree3fb1790f4a57ebfb748460f99c5f5f934642c72b /gtk2_ardour/transcode_ffmpeg.cc
parent076ca20321d1005de2f8bbd177f3ddb19212112a (diff)
back to mjpeg (revert 2cb511e and 3f157f9) for now
There is anecdotal evidence that using mpeg4 as codec leads to issues (xjadeo indexes and gets stuck at 99%, likely in libavcodec). The main motivation for using mpeg4 is/was windows/VFAT 2GB file limit and improved video quality. This will have to be revisited.
Diffstat (limited to 'gtk2_ardour/transcode_ffmpeg.cc')
-rw-r--r--gtk2_ardour/transcode_ffmpeg.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/gtk2_ardour/transcode_ffmpeg.cc b/gtk2_ardour/transcode_ffmpeg.cc
index 949565d22b..b756b02618 100644
--- a/gtk2_ardour/transcode_ffmpeg.cc
+++ b/gtk2_ardour/transcode_ffmpeg.cc
@@ -479,7 +479,7 @@ TranscodeFfmpeg::transcode (std::string outfile, const int outw, const int outh,
if (bitrate < 10) bitrate = 10;
if (bitrate > 1000) bitrate = 1000;
- argp=(char**) calloc(15,sizeof(char*));
+ argp=(char**) calloc(16,sizeof(char*));
argp[0] = strdup(ffmpeg_exe.c_str());
argp[1] = strdup("-i");
argp[2] = strdup(infile.c_str());
@@ -489,17 +489,18 @@ TranscodeFfmpeg::transcode (std::string outfile, const int outw, const int outh,
argp[6] = (char*) calloc(10,sizeof(char)); snprintf(argp[6], 10, "%ix%i", width, height);
argp[7] = strdup("-y");
argp[8] = strdup("-vcodec");
- argp[9] = strdup("mpeg4");
+ argp[9] = strdup("mjpeg");
argp[10] = strdup("-an");
- argp[11] = strdup("-keyint_min");
- argp[12] = strdup("10");
- argp[13] = strdup(outfile.c_str());
- argp[14] = (char *)0;
+ argp[11] = strdup("-intra");
+ argp[12] = strdup("-g");
+ argp[13] = strdup("1");
+ argp[14] = strdup(outfile.c_str());
+ argp[15] = (char *)0;
/* Note: these are free()d in ~SystemExec */
#if 1 /* DEBUG */
if (debug_enable) { /* tentative debug mode */
printf("TRANSCODE VIDEO:\n");
- for (int i=0; i< 14; ++i) {
+ for (int i=0; i< 15; ++i) {
printf("%s ", argp[i]);
}
printf("\n");