Ffmpeg সহ কোনও ভিডিওর কালো সীমানা অটোক্রপ করা সম্ভব?


15

আমি মনে করি এটির "ব্ল্যাকনেস" ভিডিও ফিল্টার রয়েছে, যা কোনও ছবির ক্রম কালো কিনা তা নির্ধারণ করতে পারে। হতে পারে এটিতে একটি ভিডিওর কালো সীমানা ফর্ম প্রান্তগুলি সরাতে স্বয়ংক্রিয়ভাবে ক্রপ মানগুলি নির্ধারণের জন্যও একটি ফিল্টার রয়েছে। অথবা সম্ভবত "ব্ল্যাকনেস" ফিল্টারটি ব্যবহার করে কোনওভাবে স্ক্রিপ্ট লেখা সম্ভব।

উত্তর:


21

হ্যা এটা সম্ভব.

আপনার ভিডিওটি ঠিক আছে কিনা তা দেখার জন্য প্রথমে প্লে করুন:

ffplay -i YourMovie.mp4 -vf "cropdetect=24:16:0"

cropdetectফিল্টার মান হল:

cropdetect=limit:round:reset

limit = black threshold (default 24)
round = output resolution must be divisible to this
reset = after how many frames the detection process will start over

যদি এটি ঠিক আছে, এটিকে ক্রপ করুন:

ffmpeg -i YourMovie.mp4 -vf "crop=640:256:0:36" YourCroppedMovie.mp4

উত্স এবং আরও তথ্য: রেনী কলস ব্লগ পুনর্নবীকরণ.কম


5
ক্রপডিটেক্ট (ইনপুট -i এর আগে) ব্যবহার করার সময় কোনও শুরুর পয়েন্ট (-ss 00:05:00) লাগানো সহায়ক হতে পারে কারণ কিছু ভিডিও শুরু করার সময় একটি শক্ত কালো স্ক্রিন থাকবে।

আমি এটি python matplotlib.animationশ্বেত সীমান্তযুক্ত ভিডিওগুলি ক্রপ করতে ব্যবহার করতে চাই । সীমানার রঙ সনাক্ত করা হচ্ছে কি এটির পরিবর্তন করা সম্ভব?
ryanjdillon

1
আপনি কি সীমানা রঙ হিসাবে কালো ছাড়া অন্য কিছু নির্দিষ্ট করতে পারেন? উদাহরণস্বরূপ সাদা?
ড্যানম্যান

আপনার এখনও ম্যানুয়াল অ্যাকশন করতে হবে বলে এটি প্রশ্নের উত্তর দেয় না
ফ্রিডো

আরে @ কর্নেলিয়াস আপনি দয়া করে আমাকে একটি কমান্ড সন্ধান করতে সহায়তা করতে পারেন - আমি ffmpeg ব্যবহার করে স্কয়ার থেকে রাউন্ডে ভিডিও.mp4 ক্রপ করতে চাই
আদিল

12

প্রেরণ: /programming/17265381/ffmpeg-get-value-from-cropdetect

ffmpeg -i input -t 1 -vf cropdetect -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1

1
ঠিক আছে, এটি একটি সহজ এবং খুব পরিষ্কার উপায়ে ffmpeg ব্যবহার করার জন্য "শস্যের মানগুলি" উত্পন্ন করবে :), থেক্স!
কুম্ভ শক্তি

4

অন্য দুটি উত্তর এক সাথে স্ক্রিপ্টে রেখে দেওয়া:

#!/bin/sh
#ffmpeg_zoom ver 20180128202453
I="$@";X=${I##*.};O=${I%.*}_zoomed.${X};f=$(which ffmpeg 2>/dev/null)
if [ ! "$f" ]||[ "$f" = '' ];then echo "Install ffmpeg";exit 1;fi
C=$($f -i "$I" -t 1 -vf cropdetect -f null - 2>&1|awk '/crop/{print $NF}'|tail -n1)
echo $f -i "$I" -vf "$C" "$O"; $f -i "$I" -vf "$C" "$O"

এই প্রশ্নের কয়েকটি প্রাসঙ্গিক ffmpeg উদাহরণ রয়েছে

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