You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/11/13 11:02:47 UTC
openmeetings git commit: [OPENMEETINGS-495] settings for audio
bitrate and sample rate are added
Repository: openmeetings
Updated Branches:
refs/heads/4.0.x c9837c3b2 -> 746a0a6c2
[OPENMEETINGS-495] settings for audio bitrate and sample rate are added
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/746a0a6c
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/746a0a6c
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/746a0a6c
Branch: refs/heads/4.0.x
Commit: 746a0a6c28d12f57a17aac93e51bc846ca316cc7
Parents: c9837c3
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Mon Nov 13 18:02:39 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Mon Nov 13 18:02:39 2017 +0700
----------------------------------------------------------------------
.../core/converter/BaseConverter.java | 8 +++++---
.../db/dao/basic/ConfigurationDao.java | 18 ++++++++++++++++++
.../installation/ImportInitvalues.java | 6 ++++++
.../util/OpenmeetingsVariables.java | 20 ++++++++++++++++++++
4 files changed, 49 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/746a0a6c/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
index 2417593..8a5c92b 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
@@ -27,6 +27,8 @@ import static org.apache.openmeetings.util.OmFileHelper.getStreamsSubDir;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PATH_FFMPEG;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PATH_IMAGEMAGIC;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PATH_SOX;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getAudioBitrate;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getAudioRate;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
import java.io.File;
@@ -280,7 +282,7 @@ public abstract class BaseConverter {
String[] argv = new String[] {
getPathToFFMPEG(), "-y"
, "-i", inputFlvFile.getCanonicalPath()
- , "-af", "aresample=32k:min_comp=0.001:min_hard_comp=0.100000"
+ , "-af", String.format("aresample=%s:min_comp=0.001:min_hard_comp=0.100000", getAudioBitrate())
, outputWav.getCanonicalPath()};
logs.add(ProcessHelper.executeScript("stripAudioFromFLVs", argv));
@@ -376,8 +378,8 @@ public abstract class BaseConverter {
"-profile:v", "baseline",
"-c:a", "libfaac",
"-c:a", "libfdk_aac",
- "-ar", "22050",
- "-b:a", "32k",
+ "-ar", String.valueOf(getAudioRate()),
+ "-b:a", getAudioBitrate(),
"-s", getDimensions(r), //
mp4path
));
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/746a0a6c/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
index 5c0c080..7ecbbcd 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
@@ -39,6 +39,8 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_EXCLUSIVE;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_MUTE;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_AUDIO_BITRATE;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_AUDIO_RATE;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SIP_ENABLED;
import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_APP_NAME;
import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_BASE_URL;
@@ -57,6 +59,8 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.getRoomSettings
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplicationName;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setApplicationName;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.setAudioBitrate;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.setAudioRate;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setBaseUrl;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setCryptClassName;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultLang;
@@ -330,6 +334,10 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
break;
case CONFIG_DEFAULT_LANG:
reloadDefaultLang();
+ case CONFIG_MP4_AUDIO_RATE:
+ reloadAudioRate();
+ break;
+ case CONFIG_MP4_AUDIO_BITRATE:
break;
}
return entity;
@@ -377,6 +385,14 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
setDefaultLang(getLong(CONFIG_DEFAULT_LANG, 1L));
}
+ private void reloadAudioRate() {
+ setAudioRate(getInt(CONFIG_MP4_AUDIO_RATE, 22050));
+ }
+
+ private void reloadAudioBitrate() {
+ setAudioBitrate(getString(CONFIG_MP4_AUDIO_BITRATE, "32k"));
+ }
+
public void reinit() {
reloadMaxUpload();
reloadCrypt();
@@ -385,6 +401,8 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
reloadBaseUrl();
reloadSipEnabled();
reloadGaCode();
+ reloadAudioRate();
+ reloadAudioBitrate();
reloadRoomSettings();
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/746a0a6c/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
----------------------------------------------------------------------
diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
index 606220a..4cfde7b 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
@@ -56,6 +56,8 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_MUTE;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LOGIN_MIN_LENGTH;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_AUDIO_BITRATE;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_AUDIO_RATE;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PASS_MIN_LENGTH;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PATH_FFMPEG;
@@ -89,6 +91,8 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.HEADER_CSP_SELF
import static org.apache.openmeetings.util.OpenmeetingsVariables.HEADER_XFRAME_SAMEORIGIN;
import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getAudioBitrate;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getAudioRate;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getExtProcessTtl;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
@@ -331,6 +335,8 @@ public class ImportInitvalues {
addCfg(list, CONFIG_EXT_PROCESS_TTL, String.valueOf(getExtProcessTtl()), Configuration.Type.number, String.format("Time to live in minutes for external processes such as conversion via ffmpeg (default %s minutes)", getExtProcessTtl()), VER_3_3_0);
addCfg(list, CONFIG_MYROOMS_ENABLED, String.valueOf(true), Configuration.Type.bool, "Users are allowed to create personal rooms", "3.3.2");
addCfg(list, CONFIG_REMINDER_MESSAGE, null, Configuration.Type.string, "Reminder message to notify about upcoming appointment, generated message will be used if not set", VER_2_0);
+ addCfg(list, CONFIG_MP4_AUDIO_RATE, String.valueOf(getAudioRate()), Configuration.Type.number, "Audio sampling rate (in Hz) for MP4 video", "4.0.1");
+ addCfg(list, CONFIG_MP4_AUDIO_BITRATE, String.valueOf(getAudioBitrate()), Configuration.Type.string, "Audio bitrate for MP4 video", "4.0.1");
return list;
}
public void loadConfiguration(InstallationConfig cfg) {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/746a0a6c/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
----------------------------------------------------------------------
diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
index 7b2cdaf..8e9adba 100644
--- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
+++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
@@ -88,6 +88,8 @@ public class OpenmeetingsVariables {
public static final String CONFIG_KEYCODE_MUTE = "mute.keycode";
public static final String CONFIG_MYROOMS_ENABLED = "personal.rooms.enabled";
public static final String CONFIG_REMINDER_MESSAGE = "reminder.message";
+ public static final String CONFIG_MP4_AUDIO_RATE = "mp4.audio.rate";
+ public static final String CONFIG_MP4_AUDIO_BITRATE = "mp4.audio.bitrate";
public static final String HEADER_XFRAME_SAMEORIGIN = "SAMEORIGIN";
public static final String HEADER_CSP_SELF = "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:;";
@@ -122,6 +124,8 @@ public class OpenmeetingsVariables {
private static boolean sipEnabled = false;
private static String gaCode = null;
private static Long defaultLang = 1L;
+ private static int audioRate = 22050;
+ private static String audioBitrate = "32k";
private OpenmeetingsVariables() {}
@@ -224,4 +228,20 @@ public class OpenmeetingsVariables {
public static void setDefaultLang(Long lang) {
defaultLang = lang;
}
+
+ public static int getAudioRate() {
+ return audioRate;
+ }
+
+ public static void setAudioRate(int rate) {
+ audioRate = rate;
+ }
+
+ public static String getAudioBitrate() {
+ return audioBitrate;
+ }
+
+ public static void setAudioBitrate(String bitrate) {
+ audioBitrate = bitrate;
+ }
}