"উচ্চতা 2 দ্বারা বিভাজ্য নয়" সাথে "মিনিট"


2

এই আদেশটি ব্যবহার করে:

ffmpeg -loop 1 -r 1 -i q.jpg -t 5 -pix_fmt yuv420p -vf 'scale=-2:min(1080\,ih)' z.mp4

আমি এই বার্তাটি পেয়েছি:

[libx264 @ 00000000004d0ec0] height not divisible by 2 (954x953)

আমি এই জাতীয় ত্রুটি এড়াতে পারি:

ffmpeg -loop 1 -r 1 -i q.jpg -t 5 -pix_fmt yuv420p -vf scale=-2:1080 z.mp4

তবে এটি আদর্শ নয় কারণ এটি চিত্রটি উপুড় করছে। পিক্সেল ফর্ম্যাটটি যেমন রাখি, কেবল তার উচ্চতা যদি 1080 এর চেয়ে বেশি হয় তবে আমি কীভাবে চিত্রটি স্কেল করব?

উত্তর:


2

আমি এখানে যা এলাম:

-vf 'scale=-2:min(1080\,trunc(ih/2)*2)'

http://trac.ffmpeg.org/ticket/309

বা:

-vf 'scale=-2:min(1080\,bitand(ih\,-2))'

বা:

-vf 'scale=-2:min(1080\,ih-mod(ih\,2))'

এটি আমার পক্ষে কাজ করে না। উদাহরণস্বরূপ: ffmpeg -r 30 -f চিত্র 2 -i fft_% 05d.png -vcodec libx264 -crf 25 -pix_fmt yuv420p fft_.mp4 -vf 'স্কেল = -2: মিনিট (1080 \, ট্রাঙ্ক (ih / 2) * 2 ) 'এখনও দেয় "প্রস্থটি 2 (2265x2209) দ্বারা বিভাজ্য নয়"।
গ্যালেন

0

পরিবর্তে

'scale=-2:min(1080\,ih)'

ব্যবহার

'scale=-2:min(1080\,if(mod(ih\,2)\,ih-1\,ih))'

এটি ihদ্বারা বিভাজ্য কিনা তা যাচাই করবে 2এবং না থাকলে এটি এটি দ্বারা কমে যাবে 1


0

এটি সঠিক উত্তর কিনা তা নিশ্চিত নন তবে আমার গুগল অনুসন্ধান এখানে নিয়ে গেছে। আমি কেবল ফ্রেমের আকারের দিকে তাকালাম (আমার ক্ষেত্রে আমি নিম্নচর্চা করছি) আকারটি নিয়েছি: 1796x1080 এবং 1796 কে 2 (898) এ বিভক্ত করেছি এবং এটি আকারের লাইনে ব্যবহার করেছি:

-vf scale=898:-1

যা এই আকারের সাথে শেষ হয়েছে: 898x540

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.