-Ff का उपयोग करते हुए वॉटरमार्क जोड़ने पर FFMpeg वेबम को एनकोड नहीं करेगा


0

मैं सफलतापूर्वक इस कमांड के साथ x264 और -vf के साथ एक ओवरले जोड़ रहा हूं:

वॉटरमार्क के साथ काम कर रहे x264 एनकोड:

ffmpeg -i /private/youtube/$i -acodec aac -ac 2 -strict experimental -vf 'movie=/user_ftp/1037/watermarks/w640X360.png [logo];[in][logo] overlay=0:0 [out]' -crf 24 -ab 160k -s 640x360 -vcodec libx264 -preset faster -profile:v baseline -level 30 -maxrate 1500k -bufsize 2200k -b:v 1200k -f mp4 -threads 0 -y  /user_ftp/1037/$i.mp4

हालाँकि, मेरे 2 पास webm एन्कोड और समान कोड के साथ, वीडियो एन्कोड करता है, लेकिन कोई वॉटरमार्क नहीं रखा गया है। जब वेब पर एन्कोडिंग काम नहीं करता है?

काम नहीं कर रहा है - कोई वॉटरमार्क वाला वीडियो नहीं:

Webm पास 1

ffmpeg -i /youtube/$mediaboxid/$i -codec:v libvpx -quality good -vf 'movie=/media/raid2/uploads/user_ftp/1037/watermarks/w400X224.png [logo];[in][logo] overlay=0:0 [out]' -filter:v scale=400:224 -cpu-used 0 -b:v 500k -qmin 10 -qmax 42 -maxrate:v 500k -bufsize:v 1000k -threads 0  -an -pass 1 -f webm -y /dev/null

वेबम पास 2

ffmpeg -i /youtube/$mediaboxid/$i -codec:v libvpx -quality good -vf 'movie=/user_ftp/1037/watermarks/w640X360.png [logo];[in][logo] overlay=0:0 [out]' -filter:v scale=640x360 -cpu-used 0 -b:v 500k -qmin 10 -qmax 42 -maxrate:v 500k -bufsize:v 1000k -threads 0 -an -pass 2 -f webm -y /user_ftp/1037/$i.webm

वेब के साथ विशेष रूप से यहाँ कोई ज्ञात समस्या है?


कृपया काम नहीं कर रहे कमांड (एस) के लिए पूरा कंसोल आउटपुट शामिल करें। इसके अलावा, आप दो बार आवेदन कर रहे हैं -filter( -vfऔर -filter:v) ffmpeg एक को अनदेखा कर सकता है।
ललगन

जवाबों:


2

WebM एन्कोडिंग के साथ कोई विशेष समस्या नहीं होनी चाहिए। जैसा कि लॉर्डनेकरबर्ड ने उल्लेख किया है, आपकी वेबएम कमांड लाइनों में एक -vfविकल्प और एक -filter:vविकल्प दोनों हैं , लेकिन ये एक ही चीज़ हैं (वीडियो पर लागू होने के लिए फ़िल्टर के सेट को निर्दिष्ट करने के दो अलग-अलग तरीके)। आप कई वीडियो फ़िल्टर का उपयोग कर सकते हैं, लेकिन उन्हें एकल -vfया -filter:vविकल्प का उपयोग करके निर्दिष्ट कर सकते हैं ।

आपको कई इनपुटों को शामिल -filter_complexकरने के -vfलिए फ़िल्टर करने के बजाय उपयोग करना चाहिए : यह एक सरल और जटिल फिल्टरग्राफ के बीच का अंतर है । यह समझ में आना भी आसान है क्योंकि आप movieस्रोत फ़िल्टर से बच सकते हैं ।

यदि आप चाहते थे कि scaleफ़िल्टर को परिणाम पर लागू किया जाए overlay:

ffmpeg -i video.mp4 -i logo.png -filter_complex overlay,scale=640:-1 ... output

यदि आप scaleमूल इनपुट पर ही लागू होना चाहते हैं , और overlayतब केवल फ़िल्टर के स्थान को स्विच न करें :

ffmpeg -i video.mp4 -i logo.png -filter_complex scale=640:-1,overlay ... output

समस्या हल हो गई !! आपकी सहायता के लिए बहुत धन्यवाद। एहसास नहीं हुआ कि -vf और फ़िल्टर: v बिल्कुल एक ही चीज़ थे। उत्तर देने के लिए समय निकालने के लिए धन्यवाद दोस्तों।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.