找不到真正的FFmpeg(ffprobe附带)的安装



我试图将生成器放入模型中,但出现了以下错误:AssertionError: Cannot find installation of real FFmpeg (which comes with ffprobe).

我看过GitHub上的许多解决方案和Stack Overflow上的其他问题,但没有一个对我有效

这是我运行的命令之一:

sudo add-apt-repository ppa:mc3man/trusty-media  
sudo apt-get update  
sudo apt-get install ffmpeg  
sudo apt-get install frei0r-plugins  

pip list还指示ffmpeg-1.4的存在

此外,我尝试强制重新安装和更新ffmpeg,以防任何依赖项安装不正确。

我还手动设置了ffmpeg的skvideo路径:

skvideo.setFFmpegPath('/usr/local/lib/python3.6/dist-packages/ffmpeg/')

返回:/usr/local/lib/python3.6/dist-packages/skvideo/__init__.py:306: UserWarning: ffmpeg/ffprobe not found in path: /usr/local/lib/python3.6/dist-packages/ffmpeg/ warnings.warn("ffmpeg/ffprobe not found in path: " + str(path), UserWarning)

顺便说一句,当我尝试安装时,它也会返回这个错误,我不知道该怎么办:

Get:127 http://archive.ubuntu.com/ubuntu bionic/main amd64 vdpau-driver-all amd64 1.1.1-3ubuntu1 [4,674 B]
Fetched 60.4 MB in 7s (8,769 kB/s)
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/w/wavpack/libwavpack1_5.1.0-2ubuntu1.1_amd64.deb  404  Not Found [IP: 91.189.88.149 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

我运行了apt-get update --fix-missing,但这并没有让任何事情变得更好。

有解决办法吗?

仅供参考,最好共享一个最小的笔记本,它可以复制您看到的整个问题,以澄清您到底想做什么以及它是如何出错的。在这种情况下,您可能正在寻找以下内容:

!apt-get install --no-install-recommends ffmpeg && pip install ffmpeg scikit-video
import skvideo.io
import skvideo.datasets
bbb = skvideo.datasets.bigbuckbunny()
print('bigbuckbunny is in: {}'.format(bbb))
v = skvideo.io.vread(filename)
print('shape is: {}'.format(v.shape))

(如果你已经安装了很多apt/pip,特别是如果你已经"强制"安装了各种软件包,你可能想在colab中"重置所有运行时",以获得一个干净的VM来运行上面的程序(

对于windows10用户

import skvideo
skvideo.setFFmpegPath('C:ProgramDataAnaconda3Libsite-packagesskvideoio')

快捷方式

ffmpeg链接和解压缩您可以在代码中执行此操作。确保你把解压缩文件的bin路径

import skvideo
skvideo.setFFmpegPath("D:/ffmpeg-20170125-2080bc3-win64-static/ffmpeg- 
20170125-2080bc3-win64-static/bin")

永久方式

原因之一可能是ffmpeg配置不正确(并非总是如此(。

步骤1:

检查ffmpeg是否可以从cmd访问,在命令行中键入ffmpeg,看看它是否能识别该命令,如果不能,请下载链接并解压缩并将其添加到环境变量路径例如:

D:ffmpeg-20170125-2080bc3-win64-staticffmpeg-20170125-2080bc3-win64-staticbin

步骤2:

在命令行中使用where ffmpeg有时可能指向错误的文件,在我的案例中,安装了imageMagick,系统引用了

C:Program FilesImageMagick-7.0.8-Q16ffmpeg.exe

删除imageMagick路径或将其放在之后

路径环境变量中的D:ffmpeg-20170125-2080bc3-win64-staticffmpeg-20170125-2080bc3-win64-staticbin

步骤3.

关闭终端,重新打开并检查where ffmpeg,如果它显示两条路径,不要担心,但第一条路径应该是我们安装的

ffmpeg-20170125-2080bc3-win64-staticffmpeg-20170125-2080bc3-win64-staticbin

如果可以的话,你可以去

执行以下操作:

  1. 导入skvideo

  2. skvideo.setFFmpegPath('your_environment/bin/'(

  3. 导入skvideo.io

  4. videodata=skvideo.io.vread('your_video'(

在不混合步骤的情况下遵循顺序是很重要的。

在脚本顶部添加以下内容:

import skvideo
skvideo.setFFmpegPath('/usr/local/lib/python3.6/dist-packages/ffmpeg/')

在导入skvideo.io之前,必须设置FFmpeg路径,否则它将被忽略。

对于windows,必须指定ffmpeg路径。从这里下载适用于windows的ffmpeg:https://ffmpeg.zeranoe.com/builds/

确保下载共享版本

(如果这个链接在你看到这个时消失了,只需搜索"ffmpeg窗口",你就会找到下载(

将其提取到任何位置(例如C:\ffmpeg(,然后指向skvideo,如下所示:

import skvideo
skvideo.setFFmpegPath("C:\ffmpeg") # you need this before the import
import skvideo.io
vid_data = skvideo.io.vread("data/mp4/train.mp4") # example path
print(vid_data.shape)

对于窗口:

1.下载ffmpeg--共享

https://ffmpeg.zeranoe.com/builds/

2.设置到/bin 的路径

import skvideo
skvideo.setFFmpegPath('D:\ProgramData\ffmpeg\ffmpeg-20190814-8fcc5d9-win64-shared\bin')

对于windows用户,此命令适用于

conda install ffmpeg -c mrinaljain17

最新更新