标题: [文件操作] [已解决]请问下 bat 中如何多线程调用 ffmpeg? [打印本页]
作者: loli 时间: 2020-11-2 11:24 标题: [已解决]请问下 bat 中如何多线程调用 ffmpeg?
本帖最后由 loli 于 2020-11-2 14:15 编辑
脚本是用于批量ts转mp4
具体代码:- @codepage=65001
- for %%a in ("*.ts") do ffmpeg -i "%%a" -threads 4 -f mp4 -codec copy "%%~na.mp4
复制代码
原代码没有 -threads 4 这个选项
我是搜索后自己添加的,说是代表4线程
但是实测没用,还是一个线程跑完再继续下一个线程
ffmpeg 显示命令行是这样- ffmpeg -i "1.ts" -threads 4 -f mp4 -codec copy "1.mp4
复制代码
我想达到的效果是这样,同时运行4个ffmpeg线程- ffmpeg -i "1.ts" -f mp4 -codec copy "1.mp4
- ffmpeg -i "2.ts" -f mp4 -codec copy "2.mp4
- ffmpeg -i "3.ts" -f mp4 -codec copy "3.mp4
- ffmpeg -i "4.ts" -f mp4 -codec copy "4.mp4
复制代码
依然需要等待其中一个完成再继续下一个,就是不能重复处理已经完成的任务。
另外bat不能实现的AHK能否实现?我就稍微会这两一点。
作者: 老刘1号 时间: 2020-11-2 12:33
那个threads是ffmpeg的内部多线程参数
批处理不支持多线程,你这个需求只能用多进程模拟一下
每个开头加个【start "" 】试试(保留空格和引号
作者: loli 时间: 2020-11-2 13:01
那个threads是ffmpeg的内部多线程参数
批处理不支持多线程,你这个需求只能用多进程模拟一下
每个开头加个 ...
老刘1号 发表于 2020-11-2 12:33
我在想不限制4线程有没有办法
就是遍历所有.ts文件
有几个就开几个ffmpeg线程
我有用过一个gui软件就是这样处理的 Medlexo Ultimate
但是他那个命令行转换出来有问题。
用上面所说才是正常的。
不过刚刚测试了下好像一个线程一个线程的也不慢,差不多和复制没太大差别,估计是参数copy没转码的原因吧。
好像也没啥必要多线程了
还是谢谢了吧
作者: 老刘1号 时间: 2020-11-2 18:35
回复 3# loli
是的,转封装不转码很快的
作者: ericsia 时间: 2022-3-4 13:35
回复 3# loli
是你视频命名错了吧? 我看见你用了 "-f mp4" 应该不是 .ts 是 .mp4
有样本吗?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |