উত্তর:
দিয়ে চেষ্টা করুন ffmpeg
ffmpeg -i inputfile.avi -r 1 -f image2 image-%3d.jpeg
আপনি এখানে ডকুমেন্টেশন পড়তে পারেন
-i inputfile.avi
ভিডিও ইনপুট ফাইলটি ইনপুটফিল.এভিআই-r 1
ভিডিওর প্রতি সেকেন্ডে 1 টি চিত্র বের করুন। আপনি প্রতি সেকেন্ডে পেতে চান এমন সংখ্যার জন্য সেই নম্বরটি প্রতিস্থাপন করুন।-f image2
ইমেজ আউটপুট ফর্ম্যাটকে জোর করুন, প্রোগ্রামটি ফাইল এক্সটেনশান থেকে আউটপুট চিত্রগুলির বিন্যাসটি বেছে নেওয়ার চেষ্টা করার কারণে আপনি এটি বাদ দিতে পারবেন।image-%3d.jpeg
আউটপুট চিত্রগুলির নাম,% 3 ডি নির্দেশ করে যে আউটপুট উত্পাদিত চিত্রগুলির 3 টি দশমিকের একটি ক্রম সংখ্যা থাকবে, আপনি যদি জিরোগুলির সাথে প্যাডযুক্ত নম্বরটি চান তবে আপনার কেবল% 03d ব্যবহার করা উচিত।-r 1
প্রতি সেকেন্ডে চিত্রের সংখ্যার জন্য। সুতরাং 60ips, বা 24 এর জন্য এটি -r 24
। এবং নিষ্কাশন সীমাবদ্ধ করতে, এটি -ss [start] -t [duration]
।
আমি উইন্ডোজ 32 - 2.1.2 রিনসউইন্ডের জন্য VLC- র সর্বশেষ সংস্করণটি সবেমাত্র ডাউনলোড করেছি এবং এটি করতে এটি দুর্দান্ত কাজ করে।
পদক্ষেপ:
1 - সরঞ্জামগুলি> পছন্দসমূহে ক্লিক করুন এবং সমস্ত রেডিও বোতামটি ক্লিক করুন
2 - নীচে স্ক্রোল করুন এবং প্রসারিত করতে ভিডিওর পাশের + চিহ্নটি ক্লিক করুন
3 - নীচে স্ক্রোল করুন এবং দৃশ্যের ফিল্টারটি ক্লিক করুন এবং ডিরেক্টরি পাথ উপসর্গের জন্য তথ্য পূরণ করুন (যেখানে আপনি ফ্রেম সংরক্ষণ করতে চান)। সংরক্ষণ ক্লিক করুন না।
4 - স্ক্রোল আপ করুন এবং ফিল্টারগুলির নীচে ভিডিও শব্দটি ক্লিক করুন
5 - দৃশ্য ভিডিও ফিল্টারটির জন্য চেক বাক্সটি ক্লিক করুন এবং সংরক্ষণ করুন ক্লিক করুন।
6 - একটি ভিডিও খুলুন এবং রান করুন এটি .png এর সংরক্ষণ করবে
7 - ফ্রেম সংরক্ষণ বন্ধ করতে 5 ধাপে ফিরে যান এবং দৃশ্যের ভিডিও ফিল্টারটি চেক করে না। আপনি সেটিংসটি কোথায় পাবেন তা জানলে সহজেই সহজ।
এই সাহায্য আশা করি
#!/bin/bash
source_dir="."
output_dir="."
input_file_types=(avi wmv flv mkv mpg mp4)
output_file_type="jpg"
convert() {
echo "" | ffmpeg -ss $ss -y -i "$in_file" -an -f image2 -vframes 1 "$output_dir/$out_file"
}
for input_file_types in "${input_file_types[@]}"
do
find "$source_dir" -name "*.$input_file_types" -print0 | while IFS= read -r -d $'\0' in_file
do
echo "Processing…"
echo ">Input "$in_file
# Replace the file type
out_file=$(echo $in_file|sed "s/\(.*\.\)$input_file_types/\1$output_file_type/g")
echo ">Output "$out_file
# get video duration
# fulltime=`ffmpeg -i "$in_file" 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//`;
# hour=`echo $fulltime | cut -d ':' -f 1`;
# minute=`echo $fulltime | cut -d ':' -f 2`;
# second=`echo $fulltime | cut -d ':' -f 3 | cut -d '.' -f 1`;
# seconds=`expr 3600 \* $hour + 60 \* $minute + $second`;
# ss=`expr $seconds / 2`; # from the middle of video
ss=`expr 10`; # from the 10sec of video
# Convert the file
convert "$in_file" "$out_file"
if [ $? != 0 ]
then
echo "$in_file had problems" >> ffmpeg-errors.log
fi
echo ">Finished "$out_file "\n\n"
done
done
ভিএলসিতে আপনি ডান ক্লিক করতে পারেন, ভিডিও, স্ন্যাপশট নিন