FFMpeg कॉनकैट डिमॉक्सर असुरक्षित फ़ाइल नाम


14

मैं एक ही एन्कोडिंग और चौड़ाई और ऊंचाई आयामों के साथ कुछ लघु वीडियो मर्ज करने के लिए अपने .net अनुप्रयोग के अंदर ffmpeg का उपयोग कर रहा हूं। मैंने एक txt फ़ाइल बनाई है जैसा कि दस्तावेज कहता है और यह मेरा txt है:

concatTextDirectory मेरी txt फ़ाइल की निर्देशिका है।

file 'C:\Users\mtst\Desktop\Clips\keep\a1.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a2.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a3.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a4.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a5.mp4'

और यह ffmpeg तर्क भाग है:

ffmpeg.StartInfo.Arguments = "/c ffmpeg.exe -f concat -i " + concatTextDirectory + " -c copy " + videoOut + " -y -report";

लेकिन इसका कोई परिणाम नहीं है और नीचे रिपोर्ट है

ffmpeg की शुरुआत 2016-04-25 को 19:02:30 को
"ffmpeg-20160425-190230.log" कमांड लाइन पर लिखी गई रिपोर्ट : ffmpeg.exe -f concat -i
"C: \ Users \ mtstp 'के डेस्कटॉप \ क्लिप \ रखें \ Keep.txt "-c copy
" C: \ Users \ mtst \ Desktop \ क्लिप्स \ Keep \ Keep.mp4 "-y -report ffmpeg
संस्करण N-79546-g13406b6 कॉपीराइट (c) 2000x6 FFmpress
22.100 libavcodec 57. 35.100 / 57. 35.100 libavformat 57. 34.102 / 57. 34.102 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 44.100 / 6. 44.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 0.101 / 2.5001 मानदेय 54. 0.100 / 54. 0.100 कमांडलाइन को विभाजित करना। पठन विकल्प '-f' ... विकल्प के रूप में मेल खाता है
) f ’(बल स्वरूप) तर्क के साथ at concat’। पठन विकल्प '-i' ...
तर्क के साथ इनपुट फ़ाइल के रूप में मेल खाता है
'C: \ Users \ mtst \ Desktop \ क्लिप्स \ Keep \ Keep \xt'। पठन विकल्प '-c' ...
तर्क 'प्रति' के साथ विकल्प 'ग' (कोडेक नाम) के रूप में मेल खाता है। पठन
विकल्प 'C: \ Users \ mtst \ Desktop \ क्लिप्स \ रखना \ Keep.mp4' ...
आउटपुट फ़ाइल के रूप में मेल खाता है । पठन विकल्प '-y' ... तर्क '1' के साथ विकल्प 'y' (आउटपुट फ़ाइलों को अधिलेखित) के रूप में मिलान करता है। पठन विकल्प '-report' ... तर्क '1' के साथ विकल्प 'रिपोर्ट' (एक रिपोर्ट उत्पन्न) के रूप में मेल खाता है।
कमांडलाइन का विभाजन समाप्त । विकल्पों के एक समूह को पार्स करना: वैश्विक।
तर्क 1 के साथ विकल्प y (आउटपुट फ़ाइलों को अधिलेखित करें) लागू करें।

विकल्पों के एक समूह को पार्स किया। विकल्पों का एक समूह पार्स करना: इनपुट फ़ाइल
C: \ Users \ mtst \ Desktop \ क्लिप \ रखना \ Keep \xt।
तर्क के साथ विकल्प एफ (बल प्रारूप) को लागू करना । सफलतापूर्वक विकल्पों का एक समूह तैयार किया। एक इनपुट फ़ाइल खोलना: C: \ Users \ mtst \ Desktop \ क्लिप्स \ रखना \ Keep \xt।
[file @ 00000000027d3ee0] डिफ़ॉल्ट श्वेतसूची फ़ाइल सेट करना, crypto '
[concat @ 00000000027d3800] असुरक्षित फ़ाइल नाम
' C: \ Users \ mtst \ Desktop \ क्लिप्स \ रखना \ a1 .mp4 '[AVIOContext @
0000000000957ca0] सांख्यिकी: 238 बाइट्स पढ़ सकते हैं। 0
सी: \ उपयोगकर्ता \ mtst \ Desktop \ क्लिप \ रखना \ Keep.txt: ऑपरेशन की अनुमति नहीं है

जैसा कि आप अंत में कहते हैं कि यह देख सकता है:

असुरक्षित फ़ाइल नाम 'C: \ Users \ mtst \ Desktop \ क्लिप \ रखना \ a1.mp4'

... और ऑपरेशन की अनुमति नहीं है। मैंने अतिरिक्त बैकस्लैश जोड़ने या बैकस्लैश को फ़ॉरवर्ड स्लैश में जोड़ने या डबल कोलन से बचने की कोशिश की है, कॉनैटटैक्स्टडीरी की शुरुआत या अंत में डबल उद्धरण या एकल उद्धरण जोड़कर ... इनमें से किसी भी बदलाव ने कोई परिणाम नहीं दिया।

जवाबों:


26

या तो चला

ffmpeg.exe -f concat -safe 0 -i
"C:\Users\mtst\Desktop\Clips\keep\keep.txt" -c copy
"C:\Users\mtst\Desktop\Clips\keep\keep.mp4

या में पूर्ण (पूर्ण) पथ का उपयोग न करें keep.txt


क्या सुरक्षित नहीं है और क्यों? प्रलेखन में उदाहरण निरपेक्ष पथ दिखाता है, इसलिए मुझे लगता है कि यह समस्या नहीं है।
गुस्तावो रॉड्रिक्स 21

1
ffmpeg.org/pipermail/ffmpeg-devel/2013-Febdays/138400.html - निरपेक्ष पथ को असुरक्षित माना जाता है। हालांकि इसके तर्क के बारे में निश्चित नहीं है!
जमदग्नि

मैंने यह भी सोचा कि यह डॉक्स के आधार पर निरपेक्ष पथ माना जाता है लेकिन स्पष्ट रूप से यह सही नहीं है। मैंने इसे सिर्फ नाम दिया और इसने बेहतरीन काम किया।
माइकल टुननेल

सापेक्ष पथ नामों का उपयोग करने के लिए +1। सभी उदाहरण पूर्ण दिखाते हैं।
pkamb
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.