首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在外部驱动器上使用ffmpeg (通过snap)“拒绝权限”

在外部驱动器上使用ffmpeg (通过snap)“拒绝权限”
EN

Unix & Linux用户
提问于 2020-04-16 00:20:53
回答 4查看 5.7K关注 0票数 9

我有一个新的驱动器,我可以很好地复制文件与简单的cp在驱动器上。然而,由于一些奇怪的原因,我得到了Permission denied与ffmpeg。

权限看起来很好,除非我遗漏了什么

代码语言:javascript
复制
> ll /media/manos/6TB/
drwxrwxrwx  13 manos      4096 Apr 16 00:56  ./
drwxr-x---+  6 manos      4096 Apr 16 00:49  ..
-rwxrwxrwx   1 manos 250900209 Apr 15 17:28  test.mp4*
..

但是ffmpeg一直都是这样

代码语言:javascript
复制
> ffmpeg -i test.mp4 test.mov
ffmpeg version n4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
  configuration: --prefix= --prefix=/usr --disable-debug --disable-doc --disable-static --enable-avisynth --enable-cuda --enable-cuvid --enable-libdrm --enable-ffplay --enable-gnutls --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopus --enable-libpulse --enable-sdl2 --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-nonfree --enable-nvenc --enable-omx --enable-openal --enable-opencl --enable-runtime-cpudetect --enable-shared --enable-vaapi --enable-vdpau --enable-version3 --enable-xlib
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
test.mp4: Permission denied

只需像下面这样复制就行了。

代码语言:javascript
复制
> cp test.mp4 test.mp4.bak
'test.mp4' -> 'test.mp4.bak'

对发生了什么事有什么想法吗?这太烦人了。注ffmpeg安装在/snap/bin/ffmpeg上。

EN

回答 4

Unix & Linux用户

回答已采纳

发布于 2020-04-16 08:55:41

因此,经过大量的挖掘,我发现问题在于管理器。显然,默认情况下,snap无法访问媒体目录,因此我们需要手动修复这个问题。

检查ffmpeg是否可以像下面这样访问removable-media

代码语言:javascript
复制
> snap connections | grep ffmpeg
desktop                   ffmpeg:desktop                             :desktop                          -
home                      ffmpeg:home                                :home                             -
network                   ffmpeg:network                             :network                          -
network-bind              ffmpeg:network-bind                        :network-bind                     -
opengl                    ffmpeg:opengl                              :opengl                           -
optical-drive             ffmpeg:optical-drive                       :optical-drive                    -
pulseaudio                ffmpeg:pulseaudio                          :pulseaudio                       -
wayland                   ffmpeg:wayland                             :wayland                          -
x11                       ffmpeg:x11                                 :x11                              -

如果缺少该权限,则添加该权限

代码语言:javascript
复制
sudo snap connect ffmpeg:removable-media
票数 15
EN

Unix & Linux用户

发布于 2021-09-19 15:35:13

对于搜索权限问题并查看此线程的任何人:

在我的例子中,问题在于,在我的代码中,在将文件传递给ffmpeg之前,我没有关闭在相同方法中创建的文件。因此,如果ffmpeg与permission denied崩溃,请确保任何打开的文件句柄都已关闭。

票数 0
EN

Unix & Linux用户

发布于 2023-04-26 12:49:53

ffmpeg通过snap似乎在某种类型的快速限制,其中只有特定的目录被带入snap。

目前(2023年4月) /media和/home/$用户已经被硬编码,其他一切都无法工作(想想chroot )。

请参阅这里的更多信息:https://askubuntu.com/a/1040278/32777,特别是注释部分

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/580357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档