ffmpeg.ffprobe
因此,当我使用NAS 托管的 MP4 文件时,会出现一个奇怪的错误。
当我登录到 shell 并切换到网络存储上包含 MP4 文件的任何目录,然后运行ffmpeg.ffprobe
该文件时,我可以为每个文件成功运行该命令一次。第一次,我得到了预期的输出。然后,如果我再次运行它,它会说
cannot stat path of the current working directory: Permission denied
如果目录中还有其他 MP4 文件,这些文件也将起作用。如果我使用新 shell 登录,然后在新 shell 中执行相同的命令,它将在该 shell 中运行一次。
即使在收到错误后,我实际上也可以统计该文件。
如果我将文件复制到本地目录并执行相同的操作,则不会出现这些问题。
谁能告诉我为什么这样的操作会成功一次然后失败?我该如何解决它?让我知道我可以发布哪些其他有用的信息。
编辑:ffmpeg.ffprobe
我的快照安装提供的可执行文件也是如此。我卸载并重新安装了它,并确保它启用了“可移动媒体”权限。或者,如果我只运行ffprobe
由 提供的可执行文件apt
,则不会出现这些问题。我已经使用 暂时解决了我的问题ffprobe
,但仍然没有解决问题。
$snap connections ffmpeg
Interface Plug Slot Notes
alsa ffmpeg:alsa - -
audio-playback ffmpeg:audio-playback :audio-playback -
audio-record ffmpeg:audio-record - -
camera ffmpeg:camera - -
desktop ffmpeg:desktop :desktop -
hardware-observe ffmpeg:hardware-observe - -
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 -
removable-media ffmpeg:removable-media :removable-media manual
wayland ffmpeg:wayland :wayland -
x11 ffmpeg:x11 :x11 -
例子:
$ ffmpeg.ffprobe file.mp4
ffprobe version n4.3.1 Copyright (c) 2007-2020 the FFmpeg developers
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configuration: --prefix= --prefix=/usr --disable-debug --disable-doc --disable-static --enable-cuda --enable-cuda-sdk --enable-cuvid --enable-libdrm --enable-ffplay --enable-gnutls --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libmp3lame --enable-libnpp --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. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2016-09-24T00:49:20.000000Z
com.android.version: 6.0.1
Duration: 00:13:36.30, start: 0.000000, bitrate: 17260 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 16999 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2016-09-24T00:49:20.000000Z
handler_name : VideoHandle
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
creation_time : 2016-09-24T00:49:20.000000Z
handler_name : SoundHandle
$ ffmpeg.ffprobe file.mp4
cannot stat path of the current working directory: Permission denied
这里是相关的挂载点:
//192.168.1.103/Volume_1 on /media/rothloup/Volume_1 type cifs (rw,nosuid,nodev,relatime,vers=1.0,sec=none,cache=strict,uid=1000,forceuid,gid=1000,forcegid,addr=192.168.1.103,soft,unix,posixpaths,serverino,mapposix,acl,rsize=61440,wsize=65536,bsize=1048576,echo_interval=60,actimeo=1,user=rothloup)
ls -al 和 stat 的输出:
$ ls -al
total 3444736
drwxrwxrwx 2 rothloup rothloup 0 Sep 19 20:20 .
drwxrwxrwx 7 rothloup rothloup 0 Feb 4 2019 ..
-rw-rw-rw- 1 rothloup rothloup 1761256156 Dec 5 2016 2016-09-23_204920.mp4
-rw-rw-rw- 1 rothloup rothloup 1761256156 Sep 19 20:24 file.mp4
$ stat file.mp4
File: file.mp4
Size: 1761256156 Blocks: 3444736 IO Block: 1048576 regular file
Device: 36h/54d Inode: 49512449 Links: 1
Access: (0666/-rw-rw-rw-) Uid: ( 1000/rothloup) Gid: ( 1000/rothloup)
Access: 2021-09-19 21:36:10.000000000 -0400
Modify: 2021-09-19 20:24:39.000000000 -0400
Change: 2021-09-19 20:24:39.000000000 -0400
Birth: -