QString captureCommand;
if (!KdenliveSettings::video4adevice().isEmpty()) captureCommand = "-f " + KdenliveSettings::video4aformat() + " -i " + KdenliveSettings::video4adevice();
- captureCommand += " -f " + KdenliveSettings::video4vformat() + " -s " + KdenliveSettings::video4size() + " -r " + QString::number(KdenliveSettings::video4rate()) + " -i " + KdenliveSettings::video4vdevice() + " -f " + KdenliveSettings::video4vencoding();
+ captureCommand += " -f " + KdenliveSettings::video4vformat() + " -s " + KdenliveSettings::video4size() + " -r " + QString::number(KdenliveSettings::video4rate()) + " -i " + KdenliveSettings::video4vdevice();
KdenliveSettings::setVideo4capture(captureCommand);
}
- if (KdenliveSettings::video4playback().isEmpty()) {
- QString playbackCommand;
- playbackCommand = "-f " + KdenliveSettings::video4vencoding();
- KdenliveSettings::setVideo4playback(playbackCommand);
- }
-
kDebug() << "/////// BUILDING MONITOR, ID: " << ui.video_frame->winId();
}
m_discAction->setEnabled(true);
break;
case VIDEO4LINUX:
- m_captureArgs << KdenliveSettings::video4capture().simplified().split(' ') << "-";
- m_displayArgs << KdenliveSettings::video4playback().simplified().split(' ') << "-x" << QString::number(ui.video_frame->width()) << "-y" << QString::number(ui.video_frame->height()) << "-";
+ m_captureArgs << KdenliveSettings::video4capture().simplified().split(' ') << KdenliveSettings::video4encoding().simplified().split(' ') << "-f" << "mpegts" << "-vcodec" << "mpeg4" << "-acodec" << "mp2" << "-";
+ m_displayArgs << "-f" << "mpegts" << "-x" << QString::number(ui.video_frame->width()) << "-y" << QString::number(ui.video_frame->height()) << "-";
captureProcess->setStandardOutputProcess(displayProcess);
kDebug() << "Capture: Running ffmpeg " << m_captureArgs.join(" ");
captureProcess->start("ffmpeg", m_captureArgs);
}
if (ui.device_selector->currentIndex() != SCREENGRAB) {
- kDebug() << "Capture: Running ffplay " << m_captureArgs.join(" ");
+ kDebug() << "Capture: Running ffplay " << m_displayArgs.join(" ");
displayProcess->start("ffplay", m_displayArgs);
ui.video_frame->setText(i18n("Initialising..."));
} else {
}
if (captureProcess->state() == QProcess::NotRunning) {
m_recAction->setChecked(true);
- QString extension = "mpg";
+ QString extension = "mp4";
if (ui.device_selector->currentIndex() == SCREENGRAB) extension = "ogv"; //KdenliveSettings::screengrabextension();
QString path = KdenliveSettings::capturefolder() + "/capture0000." + extension;
int i = 1;
captureProcess->start(KdenliveSettings::dvgrab_path(), m_captureArgs);
break;
case VIDEO4LINUX:
- m_captureArgs << KdenliveSettings::video4capture().simplified().split(' ') << "-y" << m_captureFile.path() << "-f" << KdenliveSettings::video4vencoding() << "-";
- m_displayArgs << KdenliveSettings::video4playback().simplified().split(' ') << "-x" << QString::number(ui.video_frame->width()) << "-y" << QString::number(ui.video_frame->height()) << "-";
+ m_captureArgs << KdenliveSettings::video4capture().simplified().split(' ') << KdenliveSettings::video4encoding().simplified().split(' ') << "-vcodec" << "mpeg4" << "-acodec" << "mp2" << "-y" << m_captureFile.path() << "-f" << "mpegts" << "-vcodec" << "mpeg4" << "-acodec" << "mp2" << "-";
+ m_displayArgs << "-f" << "mpegts" << "-x" << QString::number(ui.video_frame->width()) << "-y" << QString::number(ui.video_frame->height()) << "-";
captureProcess->setStandardOutputProcess(displayProcess);
kDebug() << "Capture: Running ffmpeg " << m_captureArgs.join(" ");
captureProcess->start("ffmpeg", m_captureArgs);
m_captureArgs << "-width" << QString::number(KdenliveSettings::rmd_width()) << "-height" << QString::number(KdenliveSettings::rmd_height());
if (!KdenliveSettings::rmd_follow_mouse()) {
m_captureArgs << "-x" << QString::number(KdenliveSettings::rmd_offsetx()) << "-y" << QString::number(KdenliveSettings::rmd_offsety());
- } else m_captureArgs << "--follow-mouse";
+ } else {
+ m_captureArgs << "--follow-mouse";
+ if (KdenliveSettings::rmd_hide_frame()) m_captureArgs << "--no-frame";
+ }
break;
}
m_isCapturing = true;
if (KdenliveSettings::rmd_capture_audio()) {
- if (KdenliveSettings::rmd_use_jack()) m_captureArgs << "-use-jack" << KdenliveSettings::rmd_jackports();
- else if (!KdenliveSettings::rmd_alsadevicename().isEmpty())
- m_captureArgs << "-device" << KdenliveSettings::rmd_alsadevicename();
+ m_captureArgs << "-freq" << KdenliveSettings::rmd_freq();
+ m_captureArgs << "-channels" << QString::number(KdenliveSettings::rmd_audio_channels());
+ if (KdenliveSettings::rmd_use_jack()) {
+ m_captureArgs << "-use-jack" << KdenliveSettings::rmd_jackports();
+ if (KdenliveSettings::rmd_jack_buffer() > 0.0)
+ m_captureArgs << "-ring-buffer-size" << QString::number(KdenliveSettings::rmd_jack_buffer());
+ } else {
+ if (!KdenliveSettings::rmd_alsadevicename().isEmpty())
+ m_captureArgs << "-device" << KdenliveSettings::rmd_alsadevicename();
+ if (KdenliveSettings::rmd_alsa_buffer() > 0)
+ m_captureArgs << "-buffer-size" << QString::number(KdenliveSettings::rmd_alsa_buffer());
+ }
} else m_captureArgs << "--no-sound";
if (KdenliveSettings::rmd_fullshots()) m_captureArgs << "--full-shots";
+ m_captureArgs << "-workdir" << KdenliveSettings::currenttmpfolder();
m_captureArgs << "-fps" << QString::number(KdenliveSettings::rmd_fps()) << "-o" << m_captureFile.path();
captureProcess->start(KdenliveSettings::rmd_path(), m_captureArgs);
kDebug() << "// RecordMyDesktop params: " << m_captureArgs;