2016-08-17 8 views
15

एक बड़ा 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

देखें आप 'ढूंढें' उप-आदेश को 'STREAM -type f -name' * '-printf "फ़ाइल' $ PWD /% p 'में भी बदल सकते हैं '\ n "' (और' -safe 0' को ffmpeg कमांड में जोड़ना न भूलें)। – erik