使用python简单免费转换视频格式

您所在的位置:网站首页 vdat在线转换 使用python简单免费转换视频格式

使用python简单免费转换视频格式

2023-09-10 03:07| 来源: 网络整理| 查看: 265

目录 一. 配环境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 condaconda remove -n *** --allrequests包是通过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这个文件,就能搜出来



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3