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;
+	}
 }