Esempio n. 1
0
 private static void IncrementCommentCount(CommentType type, int ObjID)
 {
     if (type == CommentType.Wall)
     {
         //Do Nothing
     }
     else if (type == CommentType.Video)
     {
         Next2Friends.Data.Video v = Next2Friends.Data.Video.GetVideoByVideoIDWithJoin(ObjID);
         v.NumberOfComments++;
         v.Save();
     }
     else if (type == CommentType.AskAFriend)
     {
         //Do Nothing
     }
     else if (type == CommentType.Blog)
     {
         //Do Nothing
     }
     else if (type == CommentType.Photo)
     {
         Next2Friends.Data.Photo p = Next2Friends.Data.Photo.GetPhotoByPhotoIDWithJoin(ObjID);
         p.NumberOfComments++;
         p.Save();
     }
 }
Esempio n. 2
0
        // <summary>
        /// Lawrence: This method appears to be obselete and was used as an interim solution for video encoder...
        /// </summary>
        /// <returns></returns>
        public static void ProxyProcessVideo(Stream FLVStream, Member member, string UNCPathToUserDirectory, string VideoTitle)
        {
            if (VideoTitle.Length > 35)
            {
                VideoTitle = VideoTitle.Substring(0, 35);
            }

            string VideoFileName = UniqueID.NewWebID() + ".flv";

            string SavePath = UNCPathToUserDirectory + member.NickName + @"\video\" + VideoFileName;

            int Length = 256;

            Byte[] buffer    = new Byte[256];
            int    bytesRead = FLVStream.Read(buffer, 0, Length);

            FileStream fs = new FileStream(SavePath, FileMode.Create);

            // write the required bytes
            while (bytesRead > 0)
            {
                fs.Write(buffer, 0, bytesRead);
                bytesRead = FLVStream.Read(buffer, 0, Length);
            }

            FLVStream.Close();

            fs.Flush();
            fs.Close();

            ResourceFile VideoResourceFile = new ResourceFile();

            VideoResourceFile.WebResourceFileID = UniqueID.NewWebID();
            VideoResourceFile.FileName          = VideoFileName;
            VideoResourceFile.Path         = @"/" + member.NickName + @"/video/";
            VideoResourceFile.ResourceType = (int)ResourceFileType.Video;
            VideoResourceFile.Save();


            Process FFMpegProcess;

            FFMpegProcess = new System.Diagnostics.Process();

            string ThumbnailName     = UniqueID.NewWebID();
            string ThumbnailSavePath = OSRegistry.GetDiskUserDirectory() + member.NickName + @"\vthmb\";

            if (ThumbnailName.Length > 21)
            {
                ThumbnailName = ThumbnailName.Substring(0, 20);
            }

            string FullSavePath = ThumbnailSavePath + ThumbnailName;
            string arg          = "-i " + SavePath + " -an -ss 00:00:07 -t 00:00:01 -r 1 -y -s 160x120 " + FullSavePath + "%d.jpg";
            string cmd          = @"c:\ffmpeg.exe";

            FFMpegProcess = System.Diagnostics.Process.Start(cmd, arg);
            FFMpegProcess.WaitForExit();
            FFMpegProcess.Close();


            //ffmpeg must add a 1 to the end of the file
            ThumbnailName += "1.jpg";

            ResourceFile ThumbnailResourceFile = new ResourceFile();

            ThumbnailResourceFile.WebResourceFileID = UniqueID.NewWebID();
            ThumbnailResourceFile.FileName          = ThumbnailName;
            ThumbnailResourceFile.Path         = member.NickName + @"/vthmb/";
            ThumbnailResourceFile.ResourceType = (int)ResourceFileType.VideoThumbnail;
            ThumbnailResourceFile.Save();

            Video video = new Video();

            video.MemberID                = member.MemberID;
            video.WebVideoID              = UniqueID.NewWebID();
            video.Title                   = VideoTitle;
            video.Description             = "No Description";
            video.DTCreated               = DateTime.Now;
            video.VideoResourceFileID     = VideoResourceFile.ResourceFileID;
            video.ThumbnailResourceFileID = ThumbnailResourceFile.ResourceFileID;
            video.Save();

            // update the number of photos
            MemberProfile memberProfile = member.MemberProfile[0];

            memberProfile.NumberOfVideos++;
            memberProfile.Save();
        }
Esempio n. 3
0
        /// <summary>
        /// Saves the video file to disk
        /// </summary>
        /// <returns></returns>
        public static void QueueVideoForEncoding(Video video, Stream FLVStream, string Extension, Member member, string VideoTitle)
        {
            if (VideoTitle.Length > 35)
            {
                VideoTitle = VideoTitle.Substring(0, 35);
            }

            string VideoFileName = UniqueID.NewWebID();
            string VideoPreprocessedInputFile = OSRegistry.GetDiskUserDirectory() + member.NickName + @"\video\" + VideoFileName + "." + Extension;

            string VideoInputFile  = member.NickName + @"\video\" + VideoFileName + "." + Extension;
            string VideoOutputFile = member.NickName + @"\video\" + VideoFileName + ".flv";

            int Length = 256;

            Byte[] buffer    = new Byte[256];
            int    bytesRead = FLVStream.Read(buffer, 0, Length);

            FileStream fs = new FileStream(VideoPreprocessedInputFile, FileMode.Create);

            // write the required bytes
            while (bytesRead > 0)
            {
                fs.Write(buffer, 0, bytesRead);
                bytesRead = FLVStream.Read(buffer, 0, Length);
            }

            FLVStream.Close();

            fs.Flush();
            fs.Close();

            ResourceFile VideoResourceFile = new ResourceFile();

            VideoResourceFile.WebResourceFileID = UniqueID.NewWebID();
            VideoResourceFile.FileName          = VideoFileName + ".flv";
            VideoResourceFile.Path         = @"/" + member.NickName + @"/video/";
            VideoResourceFile.ResourceType = (int)ResourceFileType.Video;
            VideoResourceFile.Save();

            string ThumbnailName     = UniqueID.NewWebID() + ".jpg";
            string ThumbnailSavePath = member.NickName + @"\vthmb\" + ThumbnailName;

            ResourceFile ThumbnailResourceFile = new ResourceFile();

            ThumbnailResourceFile.WebResourceFileID = UniqueID.NewWebID();
            ThumbnailResourceFile.FileName          = ThumbnailName;
            ThumbnailResourceFile.Path         = member.NickName + @"/vthmb/";
            ThumbnailResourceFile.ResourceType = (int)ResourceFileType.VideoThumbnail;
            ThumbnailResourceFile.Save();


            video.MemberID                = member.MemberID;
            video.WebVideoID              = UniqueID.NewWebID();
            video.Category                = 1;
            video.DTCreated               = DateTime.Now;
            video.VideoResourceFileID     = VideoResourceFile.ResourceFileID;
            video.ThumbnailResourceFileID = ThumbnailResourceFile.ResourceFileID;
            video.Status = (int)VideoStatus.EncoderQueue;
            video.Save();

            // update the number of photos
            MemberProfile memberProfile = member.MemberProfile[0];

            memberProfile.NumberOfVideos++;
            memberProfile.Save();

            VideoEncoderQueue VideoEncode = new VideoEncoderQueue();

            VideoEncode.VideoID             = video.VideoID;
            VideoEncode.VideoInputFile      = VideoInputFile;
            VideoEncode.VideoOutputFile     = VideoOutputFile;
            VideoEncode.ThumbnailOutputFile = ThumbnailSavePath;
            VideoEncode.Status = (int)VideoEncoderStatus.Ready;
            VideoEncode.Save();
        }
Esempio n. 4
0
        public void EncodeNextVideo(VideoEncoderQueue videoEnc)
        {
            Video video = null;

            try
            {
                video = new Video(videoEnc.VideoID);

                DateTime Start = DateTime.Now;

                Console.WriteLine("Begin encoding");
                string UserDirectory = @"\\www\user\";
                //string UserDirectory = @"d:\Source3\Web\user\";

                string InputFileName = UserDirectory + videoEnc.VideoInputFile;
                string OutputFileName = UserDirectory + videoEnc.VideoOutputFile;
                string ThumbnailLocation = UserDirectory + videoEnc.ThumbnailOutputFile;

                Turbine.TVE3 tve = new Turbine.TVE3();

                // set license keys:
                tve.Key1 = 215362640;
                tve.Key2 = 1596049317;

                // load the base preset settings:
                tve.LoadSettings(@"c:\presets\300K_Broadband.settings");

                tve.VideoMethod = "VBR2";

                tve.VideoBitRate = 300000;
                // set output type (flv or swf) and output location:
                tve.OutputFormat = "fla";
                tve.SetOutputFile(OutputFileName);

                // encode source synchronously:
                tve.EncodeAsync(InputFileName);

                DateTime encStart = DateTime.Now;
                bool EncodeOKAY = true;
                while (tve.EncodeAsyncIsEncoding && EncodeOKAY)
                {
                    Console.WriteLine(tve.EncodeAsyncPercentage.ToString() + "% Complete");
                    Application.DoEvents();

                    if (encStart > DateTime.Now.AddMinutes(1) && tve.EncodeAsyncPercentage == 1)
                    {
                        EncodeOKAY = false;
                    }
                    Thread.Sleep(300);
                }

                // done - flush encoding:
                tve.EncodeFlush();

                tve.InfoOpen(InputFileName);

                decimal Duration = 0.0M;

                try
                {
                    int DurationMS = (int)tve.InfoGet("totalDurationMs");

                    TimeSpan DurationSpan = new TimeSpan(0, 0, 0, 0, DurationMS);

                    Duration = decimal.Parse(DurationSpan.Minutes + "." + DurationSpan.Seconds);
                }
                catch { }

                tve.InfoSaveInputFrame(2000, ThumbnailLocation, 100);

                Photo.ResizeTo124x91(videoEnc.ThumbnailOutputFile);

                // open video again to make sure no changes have been missed
                video = new Video(videoEnc.VideoID);

                if (EncodeOKAY)
                {
                    videoEnc.Status = (int)VideoEncoderStatus.Completed;

                    video.Status = (int)VideoStatus.Active;
                }
                else
                {

                    videoEnc.Status = (int)VideoEncoderStatus.Errored;
                    videoEnc.Error = "Encoder Stalled";
                    video.Status = (int)VideoStatus.EncoderError;
                }

                video.Duration = Convert.ToDecimal(Duration);

                DateTime End = DateTime.Now;
                TimeSpan EncodingTime = End - Start;

                Console.WriteLine("Successfully encoded " + Duration.ToString() + " in " + EncodingTime.ToString());

                tve.Dispose();

                videoEnc.Save();
                video.Save();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                videoEnc.Status = (int)VideoEncoderStatus.Errored;
                videoEnc.Error = ex.ToString();


                videoEnc.Save();

                if (video != null)
                {
                    video.Status = (int)VideoStatus.EncoderError;
                    video.Save();
                }
            }
            finally
            {

            }


            Console.WriteLine("Finished Encoding");

        }
Esempio n. 5
0
        // <summary>
        /// Lawrence: This method appears to be obselete and was used as an interim solution for video encoder... 
        /// </summary>
        /// <returns></returns>
        public static void ProxyProcessVideo(Stream FLVStream, Member member, string UNCPathToUserDirectory, string VideoTitle)
        {
            if (VideoTitle.Length > 35)
            {
                VideoTitle = VideoTitle.Substring(0, 35);
            }

            string VideoFileName = UniqueID.NewWebID() + ".flv";

            string SavePath = UNCPathToUserDirectory + member.NickName + @"\video\" + VideoFileName;

            int Length = 256;
            Byte[] buffer = new Byte[256];
            int bytesRead = FLVStream.Read(buffer, 0, Length);

            FileStream fs = new FileStream(SavePath, FileMode.Create);

            // write the required bytes
            while (bytesRead > 0)
            {
                fs.Write(buffer, 0, bytesRead);
                bytesRead = FLVStream.Read(buffer, 0, Length);
            }

            FLVStream.Close();

            fs.Flush();
            fs.Close();

            ResourceFile VideoResourceFile = new ResourceFile();
            VideoResourceFile.WebResourceFileID = UniqueID.NewWebID();
            VideoResourceFile.FileName = VideoFileName;
            VideoResourceFile.Path = @"/" + member.NickName + @"/video/";
            VideoResourceFile.ResourceType = (int)ResourceFileType.Video;
            VideoResourceFile.Save();


            Process FFMpegProcess;
            FFMpegProcess = new System.Diagnostics.Process();

            string ThumbnailName = UniqueID.NewWebID();
            string ThumbnailSavePath = OSRegistry.GetDiskUserDirectory() + member.NickName + @"\vthmb\";

            if (ThumbnailName.Length > 21)
            {
                ThumbnailName = ThumbnailName.Substring(0, 20);
            }

            string FullSavePath = ThumbnailSavePath + ThumbnailName;
            string arg = "-i " + SavePath + " -an -ss 00:00:07 -t 00:00:01 -r 1 -y -s 160x120 " + FullSavePath + "%d.jpg";
            string cmd = @"c:\ffmpeg.exe";

            FFMpegProcess = System.Diagnostics.Process.Start(cmd, arg);
            FFMpegProcess.WaitForExit();
            FFMpegProcess.Close();


            //ffmpeg must add a 1 to the end of the file
            ThumbnailName += "1.jpg";

            ResourceFile ThumbnailResourceFile = new ResourceFile();
            ThumbnailResourceFile.WebResourceFileID = UniqueID.NewWebID();
            ThumbnailResourceFile.FileName = ThumbnailName;
            ThumbnailResourceFile.Path = member.NickName + @"/vthmb/";
            ThumbnailResourceFile.ResourceType = (int)ResourceFileType.VideoThumbnail;
            ThumbnailResourceFile.Save();

            Video video = new Video();
            video.MemberID = member.MemberID;
            video.WebVideoID = UniqueID.NewWebID();
            video.Title = VideoTitle;
            video.Description = "No Description";
            video.DTCreated = DateTime.Now;
            video.VideoResourceFileID = VideoResourceFile.ResourceFileID;
            video.ThumbnailResourceFileID = ThumbnailResourceFile.ResourceFileID;
            video.Save();

            // update the number of photos
            MemberProfile memberProfile = member.MemberProfile[0];
            memberProfile.NumberOfVideos++;
            memberProfile.Save();

        }
Esempio n. 6
0
        /// <summary>
        /// Saves the video file to disk
        /// </summary>
        /// <returns></returns>
        public static void QueueVideoForEncoding(Video video, Stream FLVStream,string Extension, Member member, string VideoTitle)
        {
            if (VideoTitle.Length > 35)
            {
                VideoTitle = VideoTitle.Substring(0, 35);
            }

            string VideoFileName = UniqueID.NewWebID();
            string VideoPreprocessedInputFile = OSRegistry.GetDiskUserDirectory() + member.NickName + @"\video\" + VideoFileName + "." + Extension;

            string VideoInputFile = member.NickName + @"\video\" + VideoFileName + "." + Extension;
            string VideoOutputFile = member.NickName + @"\video\" + VideoFileName + ".flv";

            int Length = 256;
            Byte[] buffer = new Byte[256];
            int bytesRead = FLVStream.Read(buffer, 0, Length);

            FileStream fs = new FileStream(VideoPreprocessedInputFile, FileMode.Create);

            // write the required bytes
            while (bytesRead > 0)
            {
                fs.Write(buffer, 0, bytesRead);
                bytesRead = FLVStream.Read(buffer, 0, Length);
            }

            FLVStream.Close();

            fs.Flush();
            fs.Close();

            ResourceFile VideoResourceFile = new ResourceFile();
            VideoResourceFile.WebResourceFileID = UniqueID.NewWebID();
            VideoResourceFile.FileName = VideoFileName + ".flv";
            VideoResourceFile.Path = @"/" + member.NickName + @"/video/";
            VideoResourceFile.ResourceType = (int)ResourceFileType.Video;
            VideoResourceFile.Save();

            string ThumbnailName = UniqueID.NewWebID() + ".jpg";
            string ThumbnailSavePath = member.NickName + @"\vthmb\" + ThumbnailName;

            ResourceFile ThumbnailResourceFile = new ResourceFile();
            ThumbnailResourceFile.WebResourceFileID = UniqueID.NewWebID();
            ThumbnailResourceFile.FileName = ThumbnailName;
            ThumbnailResourceFile.Path = member.NickName + @"/vthmb/";
            ThumbnailResourceFile.ResourceType = (int)ResourceFileType.VideoThumbnail;
            ThumbnailResourceFile.Save();

            
            video.MemberID = member.MemberID;
            video.WebVideoID = UniqueID.NewWebID();
            video.Category = 1;
            video.DTCreated = DateTime.Now;
            video.VideoResourceFileID = VideoResourceFile.ResourceFileID;
            video.ThumbnailResourceFileID = ThumbnailResourceFile.ResourceFileID;
            video.Status = (int)VideoStatus.EncoderQueue;
            video.Save();

            // update the number of photos
            MemberProfile memberProfile = member.MemberProfile[0];
            memberProfile.NumberOfVideos++;
            memberProfile.Save();

            VideoEncoderQueue VideoEncode = new VideoEncoderQueue();

            VideoEncode.VideoID = video.VideoID;
            VideoEncode.VideoInputFile = VideoInputFile;
            VideoEncode.VideoOutputFile = VideoOutputFile;
            VideoEncode.ThumbnailOutputFile = ThumbnailSavePath;
            VideoEncode.Status = (int)VideoEncoderStatus.Ready;
            VideoEncode.Save();

        }