%20en%20un%20disco%20externo.png)
Tengo una unidad nueva y puedo copiar archivos sin problemas cp
en la unidad. Sin embargo, por alguna extraña razón, me sale Permission denied
ffmpeg.
Los permisos parecen estar bien a menos que me falte algo
> 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*
..
Pero ffmpeg sigue quejándose
> 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
Simplemente copiar como se muestra a continuación funciona bien.
> cp test.mp4 test.mp4.bak
'test.mp4' -> 'test.mp4.bak'
¿Alguna idea de lo que está pasando? Esto es bastante molesto. Tenga en cuenta que ffmpeg está instalado en/snap/bin/ffmpeg
Respuesta1
Entonces, después de investigar mucho, pensé que el problema estaba en el administrador de paquetes instantáneos. Aparentemente, de forma predeterminada, Snap no puede acceder al directorio de medios, por lo que debemos solucionarlo manualmente.
Compruebe si ffmpeg tiene acceso a removable-media
Me gusta a continuación
> 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 -
Agregue ese permiso si falta
sudo snap connect ffmpeg:removable-media
Respuesta2
Para cualquiera que busque en Google el problema de los permisos y vea este hilo:
En mi caso, el problema fue que en mi código, no cerré los archivos que acababa de crear con el mismo método antes de pasarlos a ffmpeg. Entonces, si ffmpeg falla permission denied
, asegúrese de que todos los identificadores de archivos abiertos se hayan cerrado.
Respuesta3
ffmpeg vía snap parece estar en una especie de confinamiento instantáneo, donde solo ciertos directorios se activan.
Actualmente (abril de 2023) está codificado que se traen /media y /home/$USER, todo lo demás no funcionará (piense en chroot).
Ver más información aquí:https://askubuntu.com/a/1040278/32777, especialmente la sección de comentarios
Respuesta4
Agregue sudo
antes de sus comandos. Esto funciona para mi.