欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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

发布时间:2023/12/10 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 使用python简单免费转换视频格式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

  • 一. 配环境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 1STDOUT: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简单免费转换视频格式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。