吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 18949|回复: 27
收起左侧

[其他转载] 分享个kux转mp4的小工具

[复制链接]
wuxunjin 发表于 2019-1-20 18:21
本帖最后由 wuxunjin 于 2019-1-21 21:04 编辑

优酷下载的视频都是Kux格式只能用优酷客户端才能播放,
有些会员的或版权的客客户端也没法转成mp4
因要收藏些视频又不想用优酷格式收藏便写了这个小工具

QQ五笔截图未命名.jpg

第一次发帖,不知道有没有发错地方
由于技术有限,这个工具如果转换完一次后软件必须重启才能再次转换了
下面我就贴出代码:
[C#] 纯文本查看 复制代码
    public class Cmd
    {
        private Process proc = null;
        /// <summary>
        /// 构造方法
        /// </summary>
        public Cmd()
        {
            proc = new Process();
        }
        public String RunCmd (string cmd)
        {
            try
            {
                proc.StartInfo.CreateNoWindow = true;
                proc.StartInfo.FileName = "ffmpeg.exe";
                proc.StartInfo.Arguments = cmd;
                proc.StartInfo.UseShellExecute = false;//是否使用操作系统shell启动
                proc.StartInfo.RedirectStandardError = true;//重定向标准错误输出
                proc.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
                proc.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
                proc.Start();//启动程序
                proc.BeginErrorReadLine();//开始异步读取
                proc.StandardInput.AutoFlush = true;
                string outStr = proc.StandardOutput.ReadToEnd();//获取cmd窗口的输出信息
                proc.WaitForExit();//等待程序执行完退出进程
                proc.Close();//关闭关闭进程
                proc.Dispose();//释放资源
                return outStr;
            }
            catch (Exception e)
            {
                return e.ToString();
            }
        }
    }

[C#] 纯文本查看 复制代码
Cmd c = new Cmd();
private void Button1_Click(object sender, EventArgs e)
        {
            //列表为空不运行
            if (listView.Items.Count > 0)
            {
                string cmd = "", path = null;

                for (int i = 0; i < listView.Items.Count; i++)
                {
                    path = listView.Items[i].SubItems[1].Text.Replace(".kux", "");
                    if (this.outPath == null)
                    {
                        this.outPath = path;
                    }
                    //合并ffmpeg命令
                    cmd += " -y -i \"" + listView.Items[i].SubItems[1].Text + "\" -c:v copy -c:a copy -threads 2 \"" + this.outPath + ".mp4\"";
                }
                c.RunCmd(cmd);
                MessageBox.Show("视频转换已完成!");
                //textBox1.Text = c.RunCmd(textBox2.Text.Trim());
            }
        }


完整程序下载:
https://pan.baidu.com/s/1noSdQEDxGAAyeqr58WQmXw
完整源码:
https://pan.baidu.com/s/1z6cmRGgQaRXOmhG-_O6cJg

经各位反映和我自行多视频试得出的结果是:
[C#] 纯文本查看 复制代码
//开始转换
        private void Button1_Click(object sender, EventArgs e)
        {
            //列表为空不运行
            if (listView.Items.Count > 0)
            {
                for (int i = 0; i < listView.Items.Count; i++)
                {
                            c.RunCmd(" -y -i \"" + listView.Items[i].SubItems[1].Text + "\" -c:v copy -c:a copy -threads 2 \"" + listView.Items[i].SubItems[1].Text.Replace(".kux", "") + ".mp4\"");

                }
                                                   //textStatus.Text = "正在整合合命令……";
                                                   //progressBar.Value += i / 100;
                                                   //合并ffmpeg命令
                                                   //cmd += " -y -i \"" + listView.Items[i].SubItems[1].Text + "\" -c:v copy -c:a copy -threads 2 \"" + listView.Items[i].SubItems[1].Text.Replace(".kux", "") + ".mp4\"";
                                                   //c.RunCmd(" -y -i \"" + listView.Items[i].SubItems[1].Text + "\" -c:v copy -c:a copy -threads 2 \"" + listView.Items[i].SubItems[1].Text.Replace(".kux", "") + ".mp4\"");
                //c.RunCmd(cmd);
                progressBar.Value = 100;
                textStatus.Text = "完成!";
                MessageBox.Show("视频转换已完成!");
                //textBox1.Text = c.RunCmd(textBox2.Text.Trim());
            }
        }


用这段(即按键1)代码替换掉原来的就能批量转换了,但是不建议一次转太多(10个以内吧)
然后,只看到第一个马上成功下面的还是0kb这时把软件关闭等待自行完成!
我在网上找了这问题有大神说是.net底层问题,据体什么问题我也不清楚
还望各位继续完善,谢谢!


免费评分

参与人数 2吾爱币 +6 热心值 +2 收起 理由
admh + 1 + 1 谢谢@Thanks!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

约定的童话 发表于 2019-1-21 11:31

点击转换,显示转换成功,文件找不到
 楼主| wuxunjin 发表于 2019-1-21 20:43
sxxcb 发表于 2019-1-21 19:47
楼主,我转换后直接显示成功,但是文件夹里面并没有转换好的文件。换其他目录也是这样。是我没有用对吗?  ...

把cmd += " -y -i \"" + listView.Items.SubItems[1].Text + "\" -c:v copy -c:a copy -threads 2 \"" + this.outPath + ".mp4\"";
改成:
cmd += " -y -i \"" + listView.Items.SubItems[1].Text + "\" -c:v copy -c:a copy -threads 2 \"" + listView.Items.SubItems[1].Text.Replace(".kux", "") + ".mp4\"";
江南红邱伟刚 发表于 2019-1-20 18:55
langlibailong 发表于 2019-1-20 19:35
大神,这个怎么用啊?
uiop88 发表于 2019-1-20 19:43
必须重启是指软件还是系统。
Norton 发表于 2019-1-20 21:38
多谢提供,挺不错的。
约定的童话 发表于 2019-1-21 08:41
本帖最后由 约定的童话 于 2019-1-21 10:40 编辑

LZ,帮你简单美化了一下
123.gif
约定的童话 发表于 2019-1-21 10:54
楼主,win10没法用啊,浏览按钮选择不了kux格式文件
静海流沙 发表于 2019-1-21 11:27
约定的童话 发表于 2019-1-21 10:54
楼主,win10没法用啊,浏览按钮选择不了kux格式文件

选择文件夹即可
 楼主| wuxunjin 发表于 2019-1-21 11:28
约定的童话 发表于 2019-1-21 10:54
楼主,win10没法用啊,浏览按钮选择不了kux格式文件

选择kux所在文件夹
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 21:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表