admin管理员组文章数量:1658060
目录
- 一. 配环境ffmpeg,安装ffmpy
- 二. 解决报错:RemoveError: ‘requests’ is a dependency of conda and cannot be removed from conda’s operating environment.
- 三. 执行python代码
- 四. 结束
- 五. 命令行格式转换
- 六. ffmpy支持的格式
- 七. 出现问题
- 错误
- 解决方法一 使用命令行
- 解决方法二 路径有误
- 解决方法三 设置executable参数
起因是我需要将flv格式的文件转换为mp4
但是找到的视频转换软件都不好使,最后采用的方法是在anaconda中用python语句利用ffmpy和FFmpeg进行转换
其他格式的视频应该也可以互相转换,有需要的话可以尝试这种方法
一. 配环境ffmpeg,安装ffmpy
打开anaconda的命令提示符,依次执行命令
conda install ffmpeg
pip install ffmpy
二. 解决报错:RemoveError: ‘requests’ is a dependency of conda and cannot be removed from conda’s operating environment.
如果没报错就去执行第三步
我最后成功的解决方法是执行
conda update --force conda
但也有人说用以下几种方法成功的,对我来说没用,放这儿只供参考:
- conda update conda
- conda remove -n *** --all
- requests包是通过pip安装的,用pip解决requests
重新执行第1步中的语句
三. 执行python代码
import ffmpy
# 需要转换格式的视频文件,文件真实存在
source_file = r"G:\******.flv"
# 转换成功后的视频文件,文件夹真实存在,不会自动创建
sink_file = r"G:\*******.mp4"
ff = ffmpy.FFmpeg(
inputs = {source_file: None},
outputs = {sink_file: None})
ff.run()
四. 结束
看到这个就代表执行成功
执行完毕后到sink_file对应位置去找就可以了
五. 命令行格式转换
自己调整以下语句,即可
ffmpeg -i 原文件及其路径.flv -c copy 输出文件及其路径.mp4
似乎也可以:
ffmpeg -i input.flv -vcodec copy -acodec copy output.mp4
六. ffmpy支持的格式
支持的格式
ASF
AVI
BFI[7]
IFF[8]
RL2[9]
FLV
MXF, Material eXchange Format, SMPTE 377M
Matroska
Maxis XA[10]
MSN Webcam stream[11]
MPEG transport stream
TXD[6]
OMA[12]
GXF, General eXchange Format, SMPTE 360M
mov,mp4,m4a,3gp,
应该都可以
七. 出现问题
错误
有点伤心
FFRuntimeError: `ffmpeg -i aaa.flv bbb.mp4` exited with status 1
STDOUT:
STDERR:
感觉像是内存不足,没解决掉(2022.1.24现在知道原因了),网上也找不到资源,最后是在anaconda prompt中用命令行语句转的
解决方法一 使用命令行
放弃,使用命令行转视频格式
解决方法二 路径有误
出现上面问题的原因是直接从文件对象名称复制路径的时候,路径最前面有可能自动加一个肉眼不可见的符号,在代码中的路径G:\…前按一下delete,如果发现没有删掉任何东西,那就是肉眼不可见的符号"\u202a"被删掉了,之后代码就可以运行了。
解决方法三 设置executable参数
评论区大佬提出的,设置executable参数,放置ffmpeg.exe地址
ff = ffmpy.FFmpeg(
executable = r'D:\Programs\Anaconda3\Library\bin\ffmpeg.exe',
inputs = {source_file: None},
outputs = {sink_file: None})
我的ffmpeg.exe地址是这样的,不清楚的话可以在电脑中搜索ffmpeg.exe这个文件,就能搜出来
版权声明:本文标题:使用python简单免费转换视频格式 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729804494a1213150.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论