码迷,mamicode.com
首页 > 其他好文 > 详细

腾讯下载的视频qlv格式转化为MP4格式

时间:2018-01-30 19:57:24      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:文件中   不能   process   a10   如何   read   lan   oid   nbsp   

最近在看腾讯视频的时候发现下载下来的视频格式都是qlv格式,且不能用其他播放器播放,甚是恼怒,网上找了很多方法都很繁琐,于是自己写了一个小程序来处理这个问题。把下载下来的qlv格式转化为MP4格式

首先还是按照网上所说的,找到这些文件所在位置:

  1. 首先将需要转换mp4格式的视频下载,要下载完成才能进行转换。

    技术分享图片
     
  2.  点击设置,将文件所在位置复制
    技术分享图片
    技术分享图片
    技术分享图片
  3.  将复制内容粘贴到我的电脑,如图所示位置,点击回车【Enter】键,打开后我们找到下载文件,

    (因为腾讯下载内容一般都为隐藏,所以需要将文件找到)

    技术分享图片
    技术分享图片
  4.  我们打开其中任一个文件,会发现里面是这样的,我们要做的就是将这些内容转换为mp4格式
    技术分享图片
     
     
    找到文件所在目录之后就可以用我的小程序了,轻松愉快:
    技术分享图片

     

    你可以选择外层目录全部转换到一个目录中,一个一个转化,这里的区别就是你选择转换目录时选择的目录级别。

    转换完后你就可在相应目录找到你转换的MP4格式的视频文件了:如根据上面的路径,我全部转换的文件截图

    技术分享图片

     

    技术分享图片

     

    下面贴出核心代码,相信大家根据这些代码肯定也可以写出程序了:

    技术分享图片
    /// <summary>
            /// 执行cmd命令
            /// 多命令请使用批处理命令连接符:
            /// <![CDATA[
            /// &:同时执行两个命令
            /// |:将上一个命令的输出,作为下一个命令的输入
            /// &&:当&&前的命令成功时,才执行&&后的命令
            /// ||:当||前的命令失败时,才执行||后的命令]]>
            /// </summary>
            private void QLvToMp4(string strPath,string outPath)
            {
                try
                {
                    Process p = new Process();
                    //设置要启动的应用程序
                    //p.StartInfo.FileName = "cmd.exe";
                    p.StartInfo.FileName = "cmd.exe";//后面的 \"D:\\ServKit\"替换为你需要的路径即可。
                    //是否使用操作系统shell启动
                    p.StartInfo.UseShellExecute = false;
                    // 接受来自调用程序的输入信息
                    p.StartInfo.RedirectStandardInput = true;
                    //输出信息
                    p.StartInfo.RedirectStandardOutput = true;
                    // 输出错误
                    p.StartInfo.RedirectStandardError = true;
                    //不显示程序窗口
                    p.StartInfo.CreateNoWindow = true;
                    //启动程序
                    p.Start();
    
                    //获取盘符
                    string strRoot = strPath.Substring(0, 2);   //  D:
                    //获取最后一个\的索引
                    int intLast = strPath.LastIndexOf(\\);
                    //获取文件的首字母
                    string strLast = strPath.Substring(intLast + 1, 1);
                    //最后输入转换命令“copy/B 0*.tdl Video001.mp4”,
                    //(在“copy/B”和“0*.tdl”之间有一个空格,“0*.tdl”和“Video001.mp4”之间也有一个空格。其中0是文件中的第一个字母,
                    //如果大家的文件以“a”开头的话,那么命令应该写为“copy/B a*.tdl Video001.mp4”。)
                    if (!Directory.Exists(outPath))
                    {
                        Directory.CreateDirectory(outPath);//创建该文件
                    }
                    outPath = Path.Combine(outPath, strPath.Substring(intLast + 1) + ".mp4");
                    if(File.Exists(outPath))
                    {
                        File.Delete(outPath);
                    }
                    string strCmd = strRoot + @"&cd " + strPath + " &&copy/B " + strLast + "*.tdl " + outPath;
                    //向cmd窗口发送输入信息
                    p.StandardInput.WriteLine(strCmd + "&exit");
                    p.StandardInput.AutoFlush = true;
                    //获取输出信息
                    string strOuput = p.StandardOutput.ReadToEnd();
                    //等待程序执行完退出进程
                    p.WaitForExit();
                    p.Close();
                    //MessageBox.Show(strOuput);
                }
                catch
                { }
            }
    View Code

     具体小程序的下载地址:https://pan.baidu.com/s/1eT1KhH4     密码:elvp

     

腾讯下载的视频qlv格式转化为MP4格式

标签:文件中   不能   process   a10   如何   read   lan   oid   nbsp   

原文地址:https://www.cnblogs.com/sxw117886/p/8385864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!