%20%E3%81%A7%E3%80%8C%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%8C%E6%8B%92%E5%90%A6%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%8D.png)
cp
新しいドライブを入手し、ドライブ上で簡単にファイルをコピーできます。しかし、何らかの奇妙な理由でPermission denied
、ffmpeg では問題が発生します。
何か見落としがない限り、権限は問題ないようです
> 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は文句を言い続ける
> 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
以下のように単純にコピーするだけで問題なく動作します。
> cp test.mp4 test.mp4.bak
'test.mp4' -> 'test.mp4.bak'
何が起こっているのか、何か考えはありますか?これはかなり迷惑です。ffmpegがインストールされていることに注意してください/snap/bin/ffmpeg
答え1
いろいろ調べた結果、問題は snap パッケージ マネージャーにあることがわかりました。どうやらデフォルトでは snap はメディア ディレクトリにアクセスできないため、手動で修正する必要があります。
removable-media
ffmpegが以下のようにアクセスできるかどうかを確認します
> 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 -
権限が不足している場合は追加してください
sudo snap connect ffmpeg:removable-media
答え2
権限の問題について Google で検索してこのスレッドを見た方へ:
私の場合、問題は、コード内で、同じメソッドで作成したばかりのファイルを ffmpeg に渡す前に閉じていなかったことです。したがって、ffmpeg が でクラッシュする場合はpermission denied
、開いているファイル ハンドルがすべて閉じられていることを確認してください。
答え3
snap 経由の ffmpeg は、ある種の snap 制限内にあるようで、特定のディレクトリのみが snap に取り込まれます。
現在 (2023 年 4 月)、/media と /home/$USER が持ち込まれるようにハードコードされており、それ以外はすべて機能しません (chroot を考えてください)。
詳細はこちらをご覧ください:https://askubuntu.com/a/1040278/32777特にコメント欄
答え4
コマンドの前に追加しますsudo
。私の場合はうまくいきました。