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.
This commit is contained in:
parent
076ca20321
commit
a50af45a14
@ -479,7 +479,7 @@ TranscodeFfmpeg::transcode (std::string outfile, const int outw, const int outh,
|
|||||||
if (bitrate < 10) bitrate = 10;
|
if (bitrate < 10) bitrate = 10;
|
||||||
if (bitrate > 1000) bitrate = 1000;
|
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[0] = strdup(ffmpeg_exe.c_str());
|
||||||
argp[1] = strdup("-i");
|
argp[1] = strdup("-i");
|
||||||
argp[2] = strdup(infile.c_str());
|
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[6] = (char*) calloc(10,sizeof(char)); snprintf(argp[6], 10, "%ix%i", width, height);
|
||||||
argp[7] = strdup("-y");
|
argp[7] = strdup("-y");
|
||||||
argp[8] = strdup("-vcodec");
|
argp[8] = strdup("-vcodec");
|
||||||
argp[9] = strdup("mpeg4");
|
argp[9] = strdup("mjpeg");
|
||||||
argp[10] = strdup("-an");
|
argp[10] = strdup("-an");
|
||||||
argp[11] = strdup("-keyint_min");
|
argp[11] = strdup("-intra");
|
||||||
argp[12] = strdup("10");
|
argp[12] = strdup("-g");
|
||||||
argp[13] = strdup(outfile.c_str());
|
argp[13] = strdup("1");
|
||||||
argp[14] = (char *)0;
|
argp[14] = strdup(outfile.c_str());
|
||||||
|
argp[15] = (char *)0;
|
||||||
/* Note: these are free()d in ~SystemExec */
|
/* Note: these are free()d in ~SystemExec */
|
||||||
#if 1 /* DEBUG */
|
#if 1 /* DEBUG */
|
||||||
if (debug_enable) { /* tentative debug mode */
|
if (debug_enable) { /* tentative debug mode */
|
||||||
printf("TRANSCODE VIDEO:\n");
|
printf("TRANSCODE VIDEO:\n");
|
||||||
for (int i=0; i< 14; ++i) {
|
for (int i=0; i< 15; ++i) {
|
||||||
printf("%s ", argp[i]);
|
printf("%s ", argp[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
@ -761,13 +761,14 @@ VideoTimeLine::find_xjadeo () {
|
|||||||
{
|
{
|
||||||
if (v_major >= 1) v_ok = true;
|
if (v_major >= 1) v_ok = true;
|
||||||
else if (v_major == 0 && v_minor >= 8) v_ok = true;
|
else if (v_major == 0 && v_minor >= 8) v_ok = true;
|
||||||
|
else if (v_major == 0 && v_minor >= 7 && v_micro >= 7) v_ok = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!v_ok) {
|
if (!v_ok) {
|
||||||
_xjadeo_bin = X_("");
|
_xjadeo_bin = X_("");
|
||||||
warning << _(
|
warning << _(
|
||||||
"Video-monitor 'xjadeo' is too old. "
|
"Video-monitor 'xjadeo' is too old. "
|
||||||
"Please install xjadeo version 0.8.0 or later. http://xjadeo.sf.net/"
|
"Please install xjadeo version 0.7.7 or later. http://xjadeo.sf.net/"
|
||||||
) << endmsg;
|
) << endmsg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user