ffmpeg:正常文件名的“未找到协议”

Jal*_*eks 6 ffmpeg

时不时ffmpeg告诉我

myfile.avi: Protocol not found
Did you mean file:myfile.avi
Run Code Online (Sandbox Code Playgroud)

如果执行ffmpeg -i myfile.avi -vcodec copy -acodec copy -pix_fmt yuv420p myfile.mp4.

使用ffmpeg -i file:myfile.avi -vcodec copy -acodec copy -pix_fmt yuv420p myfile.mp4then 失败:

file:myfile.avi: Protocol not found
Did you mean file:file:myfile.avi
Run Code Online (Sandbox Code Playgroud)

重新启动(通常我只是进入)后执行相同的(从 bash 历史记录中pm-suspend-hybrid)工作,按预期从 .avi 转换为 .mp4。

任何想法可能是什么原因以及如何解决这个问题?


完整的输入/输出:

$ ffmpeg -i myfile.avi -vcodec copy -acodec copy -pix_fmt yuv420p myfile.mp4
ffmpeg version 3.2.9-1~deb9u1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
  configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avutil      configuration: --disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/trunk_blink_tot/src/third_party/opus/src/include --optflags='"-O2"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-pic --enable-decoder='aac,h264,mp3' --enable-demuxer='aac,mp3,mov' --enable-parser='aac,h264,mpegaudio' --enable-lto
  avcodec     configuration: --disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/trunk_blink_tot/src/third_party/opus/src/include --optflags='"-O2"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-pic --enable-decoder='aac,h264,mp3' --enable-demuxer='aac,mp3,mov' --enable-parser='aac,h264,mpegaudio' --enable-lto
  avformat    configuration: --disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/trunk_blink_tot/src/third_party/opus/src/include --optflags='"-O2"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-pic --enable-decoder='aac,h264,mp3' --enable-demuxer='aac,mp3,mov' --enable-parser='aac,h264,mpegaudio' --enable-lto
  avdevice    configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-mips32r2 --disable-mips32r6 --disable-mips64r6 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-msa --disable-libopencv --disable-podpages --disable-stripping --enable-avfilter --enable-avresample --enable-gcrypt --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --disable-opencl --enable-libmfx --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  avfilter    configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-mips32r2 --disable-mips32r6 --disable-mips64r6 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-msa --disable-libopencv --disable-podpages --disable-stripping --enable-avfilter --enable-avresample --enable-gcrypt --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --disable-opencl --enable-libmfx --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  avresample  configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-mips32r2 --disable-mips32r6 --disable-mips64r6 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-msa --disable-libopencv --disable-podpages --disable-stripping --enable-avfilter --enable-avresample --enable-gcrypt --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --disable-opencl --enable-libmfx --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  swscale     configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-mips32r2 --disable-mips32r6 --disable-mips64r6 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-msa --disable-libopencv --disable-podpages --disable-stripping --enable-avfilter --enable-avresample --enable-gcrypt --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --disable-opencl --enable-libmfx --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  swresample  configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-mips32r2 --disable-mips32r6 --disable-mips64r6 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-msa --disable-libopencv --disable-podpages --disable-stripping --enable-avfilter --enable-avresample --enable-gcrypt --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --disable-opencl --enable-libmfx --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  postproc    configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-mips32r2 --disable-mips32r6 --disable-mips64r6 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-msa --disable-libopencv --disable-podpages --disable-stripping --enable-avfilter --enable-avresample --enable-gcrypt --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --disable-opencl --enable-libmfx --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      55. 34.101 / 55. 33.100
  libavcodec     57. 64.101 / 57. 63.103
  libavformat    57. 56.101 / 57. 55.100
  libavdevice    57.  1.100 / 57.  6.100
  libavfilter     6. 65.100 /  6. 82.100
  libavresample   3.  1.  0 /  3.  5.  0
  libswscale      4.  2.100 /  4.  6.100
  libswresample   2.  3.100 /  2.  7.100
  libpostproc    54.  1.100 / 54.  5.100
myfile.avi: Protocol not found
Did you mean file:myfile.avi?
Run Code Online (Sandbox Code Playgroud)

Mulvya 提出以下要求:

$ ffmpeg -protocols -v 0
Supported file protocols:
Input:
  async
  bluray
  cache
  concat
  crypto
  data
  ffrtmpcrypt
  ffrtmphttp
  file
  ftp
  gopher
  hls
  http
  httpproxy
  https
  mmsh
  mmst
  pipe
  rtmp
  rtmpe
  rtmps
  rtmpt
  rtmpte
  rtmpts
  rtp
  sctp
  srtp
  subfile
  tcp
  tls
  udp
  udplite
  unix
Output:
  crypto
  ffrtmpcrypt
  ffrtmphttp
  file
  ftp
  gopher
  http
  httpproxy
  https
  icecast
  md5
  pipe
  prompeg
  rtmp
  rtmpe
  rtmps
  rtmpt
  rtmpte
  rtmpts
  rtp
  sctp
  srtp
  tee
  tcp
  tls
  udp
  udplite
  unix
Run Code Online (Sandbox Code Playgroud)

比较ldd输出(由 andcoz 建议)给出的差异为

$ diff ldd-not-working-libs-only ldd-working-libs-only
2d1
<   /usr/lib/chromium-browser/libffmpeg.so 
16d14
<   librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 
88a87
>   librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 
Run Code Online (Sandbox Code Playgroud)

完整输出:

$ cat ldd-not-working
    linux-vdso.so.1 (0x00007fff303e5000)
    /usr/lib/chromium-browser/libffmpeg.so (0x00007f8fb7d89000)
    libavdevice.so.57 => /usr/lib/x86_64-linux-gnu/libavdevice.so.57 (0x00007f8fb7b5b000)
    libavfilter.so.6 => /usr/lib/x86_64-linux-gnu/libavfilter.so.6 (0x00007f8fb76da000)
    libavformat.so.57 => /usr/lib/x86_64-linux-gnu/libavformat.so.57 (0x00007f8fb7295000)
    libavcodec.so.57 => /usr/lib/x86_64-linux-gnu/libavcodec.so.57 (0x00007f8fb5b6e000)
    libavresample.so.3 => /usr/lib/x86_64-linux-gnu/libavresample.so.3 (0x00007f8fb594c000)
    libpostproc.so.54 => /usr/lib/x86_64-linux-gnu/libpostproc.so.54 (0x00007f8fb572e000)
    libswresample.so.2 => /usr/lib/x86_64-linux-gnu/libswresample.so.2 (0x00007f8fb550f000)
    libswscale.so.4 => /usr/lib/x86_64-linux-gnu/libswscale.so.4 (0x00007f8fb527e000)
    libavutil.so.55 => /usr/lib/x86_64-linux-gnu/libavutil.so.55 (0x00007f8fb4ff5000)
    libva.so.1 => /usr/lib/x86_64-linux-gnu/libva.so.1 (0x00007f8fb4dd5000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8fb4ad1000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8fb48b4000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8fb4515000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8fb430d000)
    libXv.so.1 => /usr/lib/x86_64-linux-gnu/libXv.so.1 (0x00007f8fb4108000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f8fb3dc8000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f8fb3bb6000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f8fb398e000)
    libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f8fb378a000)
    libxcb-xfixes.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0 (0x00007f8fb3582000)
    libxcb-shape.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shape.so.0 (0x00007f8fb337e000)
    libcdio_paranoia.so.1 => /usr/lib/x86_64-linux-gnu/libcdio_paranoia.so.1 (0x00007f8fb3176000)
    libcdio_cdda.so.1 => /usr/lib/x86_64-linux-gnu/libcdio_cdda.so.1 (0x00007f8fb2f6e000)
    libsndio.so.6.1 => /usr/lib/x86_64-linux-gnu/libsndio.so.6.1 (0x00007f8fb2d5e000)
    libjack.so.0 => /usr/lib/x86_64-linux-gnu/libjack.so.0 (0x00007f8fb2b17000)
    libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007f8fb280a000)
    libSDL2-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 (0x00007f8fb24ee000)
    libdc1394.so.22 => /usr/lib/x86_64-linux-gnu/libdc1394.so.22 (0x00007f8fb2277000)
    libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f8fb2005000)
    libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f8fb1db4000)
    libcaca.so.0 => /usr/lib/x86_64-linux-gnu/libcaca.so.0 (0x00007f8fb1aeb000)
    libraw1394.so.11 => /usr/lib/x86_64-linux-gnu/libraw1394.so.11 (0x00007f8fb18db000)
    libavc1394.so.0 => /usr/lib/x86_64-linux-gnu/libavc1394.so.0 (0x00007f8fb16d6000)
    librom1394.so.0 => /usr/lib/x86_64-linux-gnu/librom1394.so.0 (0x00007f8fb14d1000)
    libiec61883.so.0 => /usr/lib/x86_64-linux-gnu/libiec61883.so.0 (0x00007f8fb12c4000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8fb10c0000)
    libvidstab.so.1.0 => /usr/lib/libvidstab.so.1.0 (0x00007f8fb0eab000)
    libtesseract.so.3 => /usr/lib/x86_64-linux-gnu/libtesseract.so.3 (0x00007f8fb0708000)
    librubberband.so.2 => /usr/lib/x86_64-linux-gnu/librubberband.so.2 (0x00007f8fb04d2000)
    libmfx.so.0 => /usr/lib/x86_64-linux-gnu/libmfx.so.0 (0x00007f8fb02be000)
    libfribidi.so.0 => /usr/lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007f8fb00a7000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f8fafdf8000)
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f8fafbba000)
    libbs2b.so.0 => /usr/lib/x86_64-linux-gnu/libbs2b.so.0 (0x00007f8faf9b4000)
    libass.so.9 => /usr/lib/x86_64-linux-gnu/libass.so.9 (0x00007f8faf783000)
    libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f8faf474000)
    libopenmpt.so.0 => /usr/lib/x86_64-linux-gnu/libopenmpt.so.0 (0x00007f8faf0e5000)
    libgme.so.0 => /usr/lib/x86_64-linux-gnu/libgme.so.0 (0x00007f8faee98000)
    libbluray.so.2 => /usr/lib/x86_64-linux-gnu/libbluray.so.2 (0x00007f8faec4b000)
    libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f8fae8b2000)
    libchromaprint.so.1 => /usr/lib/x86_64-linux-gnu/libchromaprint.so.1 (0x00007f8fae69a000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f8fae48a000)
    libz.so.1 => /lib/

小智 14

我来到这个主题的消息,只是为了给用户添加一个提示,我发现如果文件名本身有':'会导致问题,因为某些程序生成带有时间戳的文件,例如“audio 12: 34:14.ogg"

  • 优秀的答案。在文件名中使用 ":" 会使 ffmpeg 感到困惑(并且使用 `"`" 或 `'` 来包围文件名并不重要,反斜杠转义不适用于 ":")。唯一可能的解决方案是[暂时]从文件名中删除“:”。 (3认同)
  • 幸运的是,事实并非如此。正确的解决方案是在输出(不是输入)文件名之前添加`file:`,然后在其中添加“:”就不会出现问题。 (2认同)

Lis*_*yen 13

对我来说,“未找到协议”错误是由输出文件名中的“:”引起的。删除它然后再次添加听起来像是一种解决方法和不必要的复杂化。幸运的是,我找到了解决方案 - 只需file:在文件名前面添加即可。例如,即使$file包含像“09:02:21”这样的子字符串,这也将起作用:

ffmpeg -i "$file" -acodec pcm_s16le -vcodec copy "file:${file:r:t}".mov
Run Code Online (Sandbox Code Playgroud)

在上面的命令中,只有file:部分在这个答案的上下文中很重要;但如果有人想知道它的${file:r:t}作用是什么,它在 zsh shell 中会从变量中删除绝对路径和扩展子字符串$file。请注意,file:在这种情况下,输入文件名不需要它,但输出文件名需要它,即使两者都包含多个“:”字符。


Jal*_*eks 2

/usr/lib/chromium-browser/libffmpeg.so@andcoz 的评论引导我走上了正确的道路:只要加载,问题就存在。

就我而言,这发生在一些特殊的用例中:

libffmpeg.soVivaldi 浏览器使用它来显示专有视频格式 (H.264)。
如果我通过 Vivaldi 下载文件,然后转到其下载面板,右键单击下载的文件并选择“在文件管理器中显示”,我的文件管理器将打开。它在浏览器的“上下文”中运行,因此当我更进一步,从该文件管理器会话中打开一个终端时,它也在 Vivaldi 的上下文中运行。
对我来说,这意味着设置了一些环境变量,但如果我启动正常的终端会话(不是在 Vivaldi 上下文之外),这些变量就不存在。
这些环境变量包含(除其他外)一个LD_PRELOAD=/usr/lib/chromium-browser/libffmpeg.so. 由于libffmpeg.so在使用 运行转换时会导致加载该转换ffmpeg,因此我unset LD_PRELOAD在终端会话中尝试了 ,之后我的转换再次完全正常运行。

所以这就是“当时和现在”问题的来源,我只是没有意识到当从 Vivaldi 启动我的程序链时我处于不同的环境变量上下文中。

谢谢大家的帮助。