zoukankan      html  css  js  c++  java
  • 腾讯下载的视频qlv格式转化为MP4格式

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

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

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

      如何将腾讯视频的qlv格式转换为mp4格式
       
    2.  点击设置,将文件所在位置复制
      如何将腾讯视频的qlv格式转换为mp4格式
      如何将腾讯视频的qlv格式转换为mp4格式
      如何将腾讯视频的qlv格式转换为mp4格式
    3.  将复制内容粘贴到我的电脑,如图所示位置,点击回车【Enter】键,打开后我们找到下载文件,

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

      如何将腾讯视频的qlv格式转换为mp4格式
      如何将腾讯视频的qlv格式转换为mp4格式
    4.  我们打开其中任一个文件,会发现里面是这样的,我们要做的就是将这些内容转换为mp4格式
      如何将腾讯视频的qlv格式转换为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

  • 相关阅读:
    看完了红米5 Plus发布会,我觉得魅蓝Note6降价降多了
    红米5/红米5 Plus逼出最强魅蓝Note6?降价后已成性价比神机
    java.lang.NoClassDefFoundError: org/apache/ibatis/mapping/DatabaseIdProvider
    mac tree命令
    spring boot集成dubbo
    玩转Spring Boot 集成Dubbo
    Linux下复制粘贴快捷键
    用创业舞动飞扬的青春
    SpringMVC 学习笔记(一) Hello World
    从 Kubernetes 谈容器网络
  • 原文地址:https://www.cnblogs.com/sxw117886/p/8385864.html
Copyright © 2011-2022 走看看