diff options
author | Robin Gareus <robin@gareus.org> | 2015-10-23 23:34:21 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-10-23 23:34:21 +0200 |
commit | a50af45a140a25778b3a33917996e45dfda562a1 (patch) | |
tree | 3fb1790f4a57ebfb748460f99c5f5f934642c72b /gtk2_ardour/transcode_ffmpeg.cc | |
parent | 076ca20321d1005de2f8bbd177f3ddb19212112a (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.cc | 15 |
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"); |