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操作中的问题
基础教程推荐
猜你喜欢
- 求两个直方图的卷积 2022-01-01
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- 包装空间模型 2022-01-01
- 修改列表中的数据帧不起作用 2022-01-01
