日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2023/12/10 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用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简单免费转换视频格式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。