Issues in python based ffmpeg operation(基于python的ffmpeg操作中的问题)
本文介绍了基于python的ffmpeg操作中的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试编写一个脚本,该脚本将自动获取持续时间值并将音频文件切成较小的拆分。为此,我将所有的开始时间和持续时间保存在一个列表中。这是我试图运行的代码。
for k in range(0,len(start_time)):
s=start_time[k]
e=Duration[k]
filename = "output%d.mp3" % (k)
!ffmpeg -i Audio.mp3 -ss s -t e -acodec copy filename
k=k+1
在运行此命令时,我收到以下错误
Invalid duration specification for ss: s
我怀疑这个错误是因为我使用列表调用元素,所以时间戳两边都有引号。其次,我不确定如何指定文件名,以便每个创建的拆分都具有格式为output_1.mp3的名称,依此类推。该整数将是拆分的标识符。这段代码有哪些可能的修复方法呢?请注意,我正在Google Colab上运行此程序。
推荐答案
Google Colab在其云中运行的是由IPython支持的Jupyter笔记本,IPython使用特殊的语法进行外壳调用(命令从!感叹号开始),即它们在(临时)shell会话中执行。如果使用Google Colab,则为bash:
res = !echo $SHELL
print(res)
> ['/bin/bash']
我查了一下,Google Colab上确实有ffmpeg:
res = !which ffmpeg
print(res)
> ['/usr/bin/ffmpeg']
,所以您可以通过ffmpeg:";Invalid Duration Specification.&qot;(我指的不是shell或python)输出合法的错误消息,它只是意味着您传递的变量不会像您那样被它的值替换。由于将变量传递给shell不遵循上述特殊语法,请检查this;传递变量时应将变量用大括号括起来:
!ffmpeg -i Audio.mp3 -ss {s} -t {e} -acodec copy {filename}
这篇关于基于python的ffmpeg操作中的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:基于python的ffmpeg操作中的问题


猜你喜欢
- 使用Heroku上托管的Selenium登录Instagram时,找不到元素';用户名'; 2022-01-01
- 沿轴计算直方图 2022-01-01
- 如何在 Python 的元组列表中对每个元组中的第一个值求和? 2022-01-01
- 分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data; 2022-01-01
- padding='same' 转换为 PyTorch padding=# 2022-01-01
- 如何在 python3 中将 OrderedDict 转换为常规字典 2022-01-01
- python-m http.server 443--使用SSL? 2022-01-01
- python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令 2022-01-01
- pytorch 中的自适应池是如何工作的? 2022-07-12
- 如何将一个类的函数分成多个文件? 2022-01-01