2016-08-17 139 views
15

试图一堆MTS-文件转换成MP4大文件:ffmpeg的CONCAT:“不安全的文件名”

[email protected]:/mnt/backupsystem/archive2/Videos/20151222/PRIVATE/AVCHD/BDMV$ ~/bin/ffmpeg-git-20160817-64bit-static/ffmpeg -v info -f concat -i <(find STREAM -name '*' -printf "file '$PWD/%p'\n") -deinterlace -r 25 -s hd720 -c:v libx264 -crf 23 -acodec copy -strict -2 ~/tmp/Videos/20151222.mp4 
ffmpeg version N-81364-gf85842b-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg developers 
    built with gcc 5.4.1 (Debian 5.4.1-1) 20160803 
    configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --enable-librtmp --enable-libmfx --enable-libzimg --cc=gcc-5 
    libavutil  55. 28.100/55. 28.100 
    libavcodec  57. 53.100/57. 53.100 
    libavformat 57. 46.101/57. 46.101 
    libavdevice 57. 0.102/57. 0.102 
    libavfilter  6. 51.100/6. 51.100 
    libswscale  4. 1.100/4. 1.100 
    libswresample 2. 1.100/2. 1.100 
    libpostproc 54. 0.100/54. 0.100 
[concat @ 0x56054a0] Unsafe file name '/mnt/backupsystem/archive2/Videos/20151222/PRIVATE/AVCHD/BDMV/STREAM' 
/dev/fd/63: Operation not permitted 

任何想法什么不顺心吗?在这种情况下,“不安全文件”是什么意思? (谢谢!)

感谢, 斯蒂芬

+10

在'-i'之前加'-safe 0'。请参阅https://ffmpeg.org/ffmpeg-all.html#Options-31 – Mulvya

回答

16

通过@Mulvya说答案作品: “-i之前添加-safe 0”。 然后出现另一个问题find STREAM -name '*' -printf "file '$PWD/%p'\n"返回空路径作为第一个条目。更改为for f in ./*.wav; do echo "file '$PWD/$f'"; done(见https://trac.ffmpeg.org/wiki/Concatenate),现在它似乎工作。欢呼!

+1

您也可以将'find'子命令更改为'find STREAM -type f -name'*'-printf“file'$ PWD /%p '\ n“'(并且不要忘记将'-safe 0'添加到ffmpeg命令中)。 – erik