Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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;
            }
        }
Esempio n. 4
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");
        }