os.path.basename(file).rsplit(".", 1)[0]
对于我来说,这是某种残酷。要获得升降索的名称,你必须经历这个......
Python 中是否有一个选项可以充分获取文件名,而无需分割...
os.path.basename(file).rsplit(".", 1)[0]
对于我来说,这是某种残酷。要获得升降索的名称,你必须经历这个......
Python 中是否有一个选项可以充分获取文件名,而无需分割...
subprocess.run('ffmpeg ***', shell=True)
我使用子进程来执行命令和调用程序。例如,如果 ffmpeg 给出错误。如何确定执行过程中发生错误并获取相同的错误文本?
不起作用
result = sub.run(['ffmpeg', '-i', 'input', '-c:v', 'libaom-av1', '-b:v', '500K', '-aom-params', 'tune=psnr:enable-tpl-model=1', '/output.mp4'], stdout=sub.PIPE, encoding='utf-8')
print(result.stdout)
for file in glob.glob(patch+'*.*'):
因此,我们从文件夹中选择名称带有点的所有文件。问题是它可以捕获正在下载过程中的文件。
例如,他们上传一个 10 GB 大小的文件。系统给它起了一个临时名称
news.mp4.filepart
也就是说,Python也会抓取这个文件。实际问题是如何将过滤器设置为名称和1件数量中必须有一个点。
奥本托
通过控制台,我启动了一个 Python 脚本。在脚本中,ffmpeg命令,视频转换大约需要几个小时。
如果我关闭控制台,该过程将被中断。
如何通过控制台在后台运行脚本?
我知道进程ID,ffmpeg将视频转换进度发送到控制台。如果脚本先前在后台启动,则知道进程 ID。是否可以在控制台中打开视频转换进度?
os.system('ps -C ffmpeg')
所以我们得到一个列表,其中有一个名为“ffmpeg”的进程
如果使用不存在的进程名称执行命令。它还会给出一个列表,但它是空的。
如何查明进程是否正在运行并为其设置条件。也就是说,如果它正在运行,我们就跳过该条件,反之亦然......
有很多视频文件。每个都有自己的帧高度、比特率、编解码器等。有一个视频,帧高是1080,但视觉质量是480...
对于每个视频,有必要确定它可以转换成什么质量。
144р
240р
360р
480р
720р
1080р
1440р
2160р
目前,为了确定将视频转换为什么分辨率,我关注帧高度+比特率。这不是真的……
因为,正如我之前所写,帧高度可以是 1080,但就图像质量而言,它是 480。此外,比特率和质量可能会有所不同,具体取决于编解码器。有些编解码器压缩效果更好,比特率较低,但不会损失质量......
问题是公式是什么,在输入文件中查看什么。确定允许转化为哪些品质?