示例#1
0
 /// <summary>刷新视频资源列表</summary>
 private void FreshVideosList()
 {
     ShowMessage();
     _videoInfoList          = VideoHelper.GetSourceVideosList();
     gridControl1.DataSource = _videoInfoList;
     HideMessage();
 }
示例#2
0
        /// <summary>加载视频列表信息</summary>
        private void LoadSceneList()
        {
            Dictionary <string, Image> sceneNameImageDic = VideoHelper.GetSceneNameImageDic();

            navBarControlVideos.Items.Clear();
            foreach (var pair in sceneNameImageDic)
            {
                AddItemToNavBar(pair.Key, pair.Value);
            }
        }
示例#3
0
        /// <summary>加载场景列表信息</summary>
        private void LoadSceneList()
        {
            Dictionary <string, Image> sceneNameImageDic = VideoHelper.GetSceneNameImageDic();

            foreach (var pair in sceneNameImageDic)
            {
                AddItemToNavBar(pair.Key, pair.Value);
            }
            navBarGroupVideos.SelectedLinkIndex = -1;
            navBarGroupVideos.ItemChanged      += navBarGroupVideos_ItemChanged;
            navBarGroupVideos.SelectedLinkIndex = 0;
        }
示例#4
0
        //删除场景
        private void simpleButtonDelete_Click(object sender, EventArgs e)
        {
            if (navBarGroupVideos.SelectedLink.ItemName.Equals("navBarItemAll"))
            {
                return;
            }
            string videoName = navBarGroupVideos.SelectedLink.Caption;

            if (MessageBox.Show(@"确定删除选中的场景吗?", @"删除提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                VideoHelper.DeleteScene(videoName);
                DeleteSceneItem();
            }
        }
示例#5
0
        /// <summary>刷新场景图片</summary>
        private void FreshSceneItem(NavBarItemLink narBarItemLink)
        {
            bool   isExistThumbnail = true;
            string itemPath         = FileHelper.GetFileAbsolutePath("Resources\\") + "item.png";
            string sceneName        = narBarItemLink.Caption;
            string pathName         = FileHelper.GetFileAbsolutePath("CombVideos\\") + sceneName + ".mp4";
            string imagePath        = FileHelper.GetFileAbsolutePath("VideoThumbnails\\") + sceneName + ".jpg";

            if (!File.Exists(imagePath))
            {
                isExistThumbnail = VideoHelper.CreateThumbnail(pathName, imagePath);
            }
            Image  image = isExistThumbnail ? Image.FromFile(imagePath) : Image.FromFile(itemPath);
            Bitmap bmp   = new Bitmap(image);

            image.Dispose();
            narBarItemLink.Item.LargeImage = bmp;
        }
示例#6
0
        private void VideoCombine1(NavBarItemLink narBarItemLink)
        {
            if (_sceneVideoInfoList.Count == 0)
            {
                MessageBox.Show("请添加视频");
                return;
            }
            //等待窗口调用
            ShowMessage();
            for (int i = 0; i < _sceneVideoInfoList.Count; i++)
            {
                SplashScreenManager.Default.SetWaitFormCaption("正在处理第" + (i + 1) + "个视频,请稍后...");
                SplashScreenManager.Default.SetWaitFormCaption("正在处理第" + (i + 1) + "个视频,请稍后...");
                VideoInfo videoInfo = _sceneVideoInfoList[i];
                string    cmdConvert;//转换命令
                string    convertVideoName = FileHelper.GetFileAbsolutePath("SourceVideos\\") + videoInfo.VideoName + ".mp4";
                string    tempVideoName    = FileHelper.GetFileAbsolutePath("SourceVideos\\") + videoInfo.VideoName + ".ts";
                if (!videoInfo.VideoFormat.Equals(".mp4"))
                {
                    cmdConvert = VideoHelper.ConvertToMp4Cmd(videoInfo.VideoPath, convertVideoName);
                    VideoHelper.RunFFMpeg(_ffmpegPath, cmdConvert);
                }
                //文件格式转换mp4->mpegts
                cmdConvert = VideoHelper.Mp4ToTsCmd(convertVideoName, tempVideoName);
                VideoHelper.RunFFMpeg(_ffmpegPath, cmdConvert);
            }
            string itemCaption = narBarItemLink.Caption;

            //创建或更新视频列表.txt
            VideoHelper.CreateOrUpdateVideoList(_sceneVideoInfoList, itemCaption);
            //视频合并命令
            string cmdCombine = VideoHelper.GetCombineCmd(_sceneVideoInfoList, itemCaption);

            VideoHelper.RunFFMpeg(_ffmpegPath, cmdCombine);
            //刷新当前场景的截图
            FreshSceneItem(narBarItemLink);
            VideoHelper.DeleteTempVideos(_sceneVideoInfoList);
            HideMessage();
        }
示例#7
0
        /// <summary>视频合并操作</summary>
        /// <param name="narBarItemLink"></param>
        private void VideoCombine(NavBarItemLink narBarItemLink)
        {
            if (_sceneVideoInfoList.Count == 0)
            {
                MessageBox.Show("请添加视频");
                return;
            }
            //等待窗口调用
            ShowMessage();
            foreach (var videoInfo in _sceneVideoInfoList)
            {
                string cmdConvert;//转换命令
                string convertVideoName = FileHelper.GetFileAbsolutePath("SourceVideos\\") + videoInfo.VideoName + ".mp4";
                string tempVideoName    = FileHelper.GetFileAbsolutePath("SourceVideos\\") + videoInfo.VideoName + ".ts";
                if (!videoInfo.VideoFormat.Equals(".mp4"))
                {
                    cmdConvert = VideoHelper.ConvertToMp4Cmd(videoInfo.VideoPath, convertVideoName);
                    VideoHelper.RunFFMpeg(_ffmpegPath, cmdConvert);
                }
                //文件格式转换mp4->mpegts
                cmdConvert = VideoHelper.Mp4ToTsCmd(convertVideoName, tempVideoName);
                VideoHelper.RunFFMpeg(_ffmpegPath, cmdConvert);
            }
            string itemCaption = narBarItemLink.Caption;

            //创建或更新视频列表.txt
            VideoHelper.CreateOrUpdateVideoList(_sceneVideoInfoList, itemCaption);
            //视频合并命令
            string cmdCombine = VideoHelper.GetCombineCmd(_sceneVideoInfoList, itemCaption);

            if (VideoHelper.RunFFMpeg(_ffmpegPath, cmdCombine))
            {
                //刷新当前场景的截图
                FreshSceneItem(narBarItemLink);
                VideoHelper.DeleteTempVideos(_sceneVideoInfoList);
                simpleButtonCombine.Visible = false;
            }
            HideMessage();
        }
示例#8
0
 /// <summary>刷新场景item对应的视频列表</summary>
 /// <param name="item"></param>
 private void FreshSceneVideoList(string item)
 {
     _sceneVideoInfoList     = VideoHelper.GetCurrentSceneVideosData(item);
     gridControl1.DataSource = _sceneVideoInfoList;
 }