private int GetTotalProcessedFile(string PID) { int processedFiles = 0; string processingLocation = string.Empty; SystemConfiguration systemConfiguration = HelperClass.SystemConfigurationLoader(); SQLClassPeralatan.MintaDataDatabase mintaDataDatabase = new SQLClassPeralatan.MintaDataDatabase("LocalProcessedVideoFolder", "ProcessedVideoInfo", "ProcessID", PID, systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString); if (!mintaDataDatabase.TerdapatKesalahan) { processingLocation = HelperClass.StringEncoderDecoder(mintaDataDatabase.DataDiterima, StringConversionMode.Decode); processedFiles = Directory.GetFiles(processingLocation, "*.jpg").Length; } else { processedFiles = 0; } return(processedFiles); }
static void Main(string[] args) { try { processingInformation.processingStartTime = DateTime.Now; #region Menu if (args.Length == 0) { Console.WriteLine("The parameters must not empty."); Console.WriteLine("USAGE: VideoProcessing.exe Command Input Output AdditionalParameter"); WriteHelp(); Console.WriteLine("Example:"); Console.WriteLine("Extracting using default informations."); Console.WriteLine("VideoProcessing.exe \"C:\\SourceFolder\\SourceFile.mkv\" C:\\TargetFolder"); Console.WriteLine("Note: For now do not put \"\\\" at the end of the target folder because it will cause error..."); Console.WriteLine("\nCurrently the only command available is getframes."); return; } #endregion Menu #region Commands checker and validation if (args[0].ToLower() == "getframes") { command = Command.ExtractFrame; if (args[1].Contains("\"")) { videoInformation.source = args[1]; } else { videoInformation.source = "\"" + args[1] + "\""; } if (args[2].Contains("\"")) { videoInformation.target = args[2]; } else { videoInformation.target = "\"" + args[2] + "\""; } } #endregion Commands checker and validation #region GetFrames additional parameters if (command == Command.ExtractFrame) { #region Video width setup foreach (var arg in args) { if (arg.Contains("width=")) { videoInformation.width = Convert.ToInt32(arg.Remove(0, "width=".Length)); } else { videoInformation.width = -1; } } #endregion Video width setup #region Video height setup foreach (var item in args) { if (item.Contains("height=")) { foreach (var item2 in item.Split('=')) { if (!Int32.TryParse(item2, out videoInformation.height)) { videoInformation.height = -1; } } break; } else { videoInformation.height = -1; } } #endregion Video height setup #region Audio process setup foreach (var arg in args) { if (arg.ToLower().Contains("with_audio=")) { if (arg.ToLower().Contains("false")) { videoInformation.withAudio = false; } else { videoInformation.withAudio = true; } } } #endregion Audio process setup #region Frame rate request foreach (var item in args) { if (item.ToLower().Contains("fps=")) { foreach (var item2 in item.Split('=')) { if (!Single.TryParse(item2, out videoInformation.fpsOverride)) { videoInformation.fpsOverride = -1; } } break; } else { videoInformation.fpsOverride = -1; } } #endregion Frame rate request #region Request delete original foreach (var arg in args) { if (arg.ToLower().Contains("delete_original=")) { if (arg.ToLower().Contains("true")) { videoInformation.deleteOriginal = true; } else { videoInformation.deleteOriginal = false; } } } #endregion Request delete original } #endregion GetFrammes additional parameters #region Application debug setup foreach (var item in args) { if (item.ToLower().Contains("printinfo=true")) { applicationConfiguration.displayInformations = true; Console.WriteLine("Command:"); foreach (var arg in args) { Console.Write(arg + " "); } } else { applicationConfiguration.displayInformations = false; } } #endregion Application debug setup #region Request mode // Used to determine which application to use this application // This is required for some application like MediaPlayer application // so this application will also ask for users session ID for processing requester = Requester.Other; foreach (var item in args) { if (item.ToLower().Contains("mediaplayer")) { requester = Requester.MediaPlayer; } } if (requester == Requester.Other) { //throw new ArgumentNullException("Requester is needed for now"); } #endregion Request mode #region User information if (requester == Requester.MediaPlayer) { foreach (var arg in args) { if (arg.ToLower().Contains("sessionid=")) { userInfo.UserSessionID = arg.Remove(0, "sessionid=".Length); } } } #endregion User information #region Get User ID, Session ID, and Process ID #region User information if (requester == Requester.MediaPlayer) { foreach (var arg in args) { if (arg.ToLower().Contains("sessionid=")) { userInfo.UserSessionID = arg.Remove(0, "sessionid=".Length); } } } #endregion User information #region User ID if (requester == Requester.MediaPlayer) { SQLClassPeralatan.MintaDataDatabase mintaDataDatabase = new SQLClassPeralatan.MintaDataDatabase("UserID", "SessionInfo", "SessionID", userInfo.UserSessionID, ConfigurationManager.AppSettings["DatabaseConnectionString"]); userInfo.UserID = Convert.ToInt32(mintaDataDatabase.DataDiterima); //userInfo.UserID = Convert.ToInt32(SQLClassPeralatan.Peralatan.MintaDataDatabase("MediaPlayerDatabase", "UserID", "SessionInfo", "SessionID", userInfo.UserSessionID, ConfigurationManager.AppSettings["DatabaseConnectionString"])); } #endregion User ID #region Process ID if (requester == Requester.MediaPlayer) { processID = SQLClassPeralatan.Peralatan.NilaiTertinggi("MediaPlayerDatabase", "ProcessedVideoInfo", "ProcessID", "UserID", userInfo.UserID.ToString(), ConfigurationManager.AppSettings["DatabaseConnectionString"]); } #endregion Process ID #endregion Get user ID, Session ID, and Process ID ExtractFrameResult = ExtractFrames(videoInformation); if (ExtractFrameResult.result == FunctionStatus.Fail) { string WriteLogLocation = ConfigurationManager.AppSettings["LogLocation"]; int fileNumber = Directory.GetFiles(WriteLogLocation).Length + 1; if (logLocation.EndsWith("\\")) { WriteLogLocation = logLocation + "err" + fileNumber + ".log"; } else { WriteLogLocation = logLocation + "\\" + "err" + fileNumber + ".txt"; } System.IO.File.WriteAllText(WriteLogLocation, ExtractFrameResult.ErrorException.Message); #region MediaPlayer status updater if (requester == Requester.MediaPlayer) { string SQLCommand = "USE " + HelperClass.LoadDatabaseConfiguration().databaseName + ";"; SQLCommand += "UPDATE ProcessedVideoInfo SET VideoStatus=3"; SQLCommand += " WHERE UserID=" + userInfo.UserID + " AND ProcessID= " + processID + ";"; SQLClassPeralatan.Peralatan.UbahDataDatabase(SQLCommand, HelperClass.LoadDatabaseConfiguration().databaseConnectionString); } #endregion MediaPlayer status updater if (applicationConfiguration.displayInformations == true) { //Console.ReadLine(); } } if (requester == Requester.MediaPlayer) { HelperClass.WriteVideoActualEndFrame(userInfo, videoInformation, processID.ToString()); //userInfo.UserID = HelperClass.GetUserID(userInfo.UserSessionID).UserID; HelperClass.VideoStatusUpdater(userInfo, videoInformation, processID.ToString(), VideoProcessStatus.Processed); } processingInformation.processingEndTime = DateTime.Now; HelperClass.GenerateLog(videoInformation, processedVideoInformation, processingInformation, userInfo, requester); } catch (Exception err) { Console.WriteLine(err.Message); Console.WriteLine(err.StackTrace); string WriteLogLocation = ConfigurationManager.AppSettings["LogLocation"]; if (logLocation.EndsWith("\\")) { WriteLogLocation = logLocation + "err" + Directory.GetFiles(WriteLogLocation).Length + 1 + ".log"; } else { WriteLogLocation = logLocation + "\\" + "err" + Directory.GetFiles(WriteLogLocation).Length + 1 + ".txt"; } System.IO.File.WriteAllText(WriteLogLocation, err.Message); if (applicationConfiguration.displayInformations == true) { //Console.ReadLine(); } return; } }
protected void Page_Load(object sender, EventArgs e) { CSSLoader(); //savedSettings = HelperClass.ReadPlayerSettings(Session.SessionID, settingsDatabase, settingsTable, connectionString); #region Preparation #region System setting loading SystemConfiguration systemConfiguration = HelperClass.SystemConfigurationLoader(); #endregion System setting loading #region User info loading UserInfo userInfo = new UserInfo { SessionID = Session.SessionID }; // Try reading user information try { if (HelperClass.CheckUser("MediaPlayerDatabase", "SessionInfo", userInfo.SessionID, systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString)) { // Load user info SQLClassPeralatan.MintaDataDatabase mintaDataDatabase = new SQLClassPeralatan.MintaDataDatabase("UserID", "SessionInfo", "SessionID", userInfo.SessionID, systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString); userInfo.UserID = Convert.ToInt32(mintaDataDatabase.DataDiterima); } else { // Add user info if (HelperClass.AddUser("MediaPlayerDatabase", "SessionInfo", userInfo.SessionID, systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString)) { // Read user id SQLClassPeralatan.MintaDataDatabase mintaDataDatabase = new SQLClassPeralatan.MintaDataDatabase("UserID", "SessionInfo", "SessionID", userInfo.SessionID, systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString); if (!mintaDataDatabase.TerdapatKesalahan) { userInfo.UserID = Convert.ToInt32(mintaDataDatabase.DataDiterima); } else { Response.Redirect("Error.aspx?id=21"); } } else { Response.Redirect("Error.aspx?id=23"); } } } catch (Exception err) { Response.Redirect("Error.aspx?id=21&message=" + err.Message); } #endregion User info loading #region User player configuration loading VideoPlayerSettings userPlayerSetting = new VideoPlayerSettings(); try { if (!IsPostBack) { // Check user player configuration if (HelperClass.CheckSettings("MediaPlayerDatabase", userInfo, "UserSettings", systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString)) { userPlayerSetting = HelperClass.ReadPlayerSettings(userInfo.SessionID, "MediaPlayerDatabase", "UserSettings", systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString); } else { if (HelperClass.CreateNewSettings("MediaPlayerDatabase", "UserSettings", userInfo, systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString)) { userPlayerSetting = HelperClass.ReadPlayerSettings(userInfo.SessionID, "MediaPlayerDatabase", "UserSettings", systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString); } else { Response.Redirect("Error.aspx?id=24&message=Maybe a server problem"); } } } } catch (Exception err) { Response.Redirect("Error.aspx?id=24&message=" + err.Message); } #endregion User player configuration loading #endregion Preparation if (!IsPostBack) { lstVideoResolution.SelectedValue = ((int)userPlayerSetting.resolution).ToString(); lstFrameRate.SelectedValue = ((int)userPlayerSetting.frameRate).ToString(); lstFrameBufferMode.SelectedValue = ((int)userPlayerSetting.bufferMode).ToString(); lstFramePreload.SelectedValue = ((int)userPlayerSetting.preloadFrames).ToString(); lstPlayMode.SelectedIndex = 0; } }
protected void btnSaveSettings_Click(object sender, EventArgs e) { #region Preparation VideoPlayerSettings settings = new VideoPlayerSettings(); SystemConfiguration systemConfiguration = HelperClass.SystemConfigurationLoader(); UserInfo userInfo = new UserInfo(); #endregion Preparation #region User info loading userInfo.SessionID = Session.SessionID; // Try reading user information if (HelperClass.CheckUser("MediaPlayerDatabase", "SessionInfo", userInfo.SessionID, systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString)) { // Load user info SQLClassPeralatan.MintaDataDatabase mintaDataDatabase = new SQLClassPeralatan.MintaDataDatabase("UserID", "SessionInfo", "SessionID", userInfo.SessionID, systemConfiguration.DatabaseProcessingConfiguration.DatabaseConectionString); userInfo.UserID = Convert.ToInt32(mintaDataDatabase.DataDiterima); } else { Response.Redirect("Error.aspx?id=21"); } #endregion User info loading #region Resolution int selectedResolution = Convert.ToInt32(lstVideoResolution.SelectedValue); if (selectedResolution == (int)Resolution.Original) { settings.resolution = Resolution.Original; } else if (selectedResolution == (int)Resolution.SD_360p) { settings.resolution = Resolution.SD_360p; } else if (selectedResolution == (int)Resolution.SD_480p) { settings.resolution = Resolution.SD_480p; } else if (selectedResolution == (int)Resolution.HD_720p) { settings.resolution = Resolution.HD_720p; } else if (selectedResolution == (int)Resolution.HD_1080p) { settings.resolution = Resolution.HD_1080p; } else if (selectedResolution == (int)Resolution.SUHD_1440p) { settings.resolution = Resolution.SUHD_1440p; } else { settings.resolution = Resolution.Other; } #endregion Resolution #region Framerate int selectedFramerate = Convert.ToInt32(lstFrameRate.SelectedValue); if (selectedFramerate == (int)FrameRate.Default) { settings.frameRate = FrameRate.Default; } else if (selectedFramerate == (int)FrameRate._24fps) { settings.frameRate = FrameRate._24fps; } else if (selectedFramerate == (int)FrameRate._30fps) { settings.frameRate = FrameRate._30fps; } else if (selectedFramerate == (int)FrameRate._60fps) { settings.frameRate = FrameRate._60fps; } else if (selectedFramerate == (int)FrameRate._120fps) { settings.frameRate = FrameRate._120fps; } else { settings.frameRate = FrameRate.Other; } #endregion Framerate #region Buffer mode int selectedBufferMode = Convert.ToInt32(lstFrameBufferMode.SelectedValue); if (selectedBufferMode == (int)BufferMode.SingleBuffer) { settings.bufferMode = BufferMode.SingleBuffer; } else if (selectedBufferMode == (int)BufferMode.DoubleBuffer) { settings.bufferMode = BufferMode.DoubleBuffer; } else { settings.bufferMode = BufferMode.TripleBuffer; } #endregion Buffer mode #region Frame preload int selectedFramePreload = Convert.ToInt32(lstFramePreload.SelectedValue); if (selectedFramePreload == (int)PreloadFrames.EnablePreload) { settings.preloadFrames = PreloadFrames.EnablePreload; } else { settings.preloadFrames = PreloadFrames.DisablePreload; } #endregion Frame preload FunctionResult result = HelperClass.UpdateSettings(settings, userInfo, "MediaPlayerDatabase", "UserSettings", connectionString); if (result.functionResult == Result.Fail) { Response.Redirect("Error.aspx?id=25"); } Response.Redirect("Index.aspx"); }