ffmpeg গতি ছাড়াই অংশগুলি সরান


15

আমার কাছে একটি আইপি সুরক্ষা ক্যামেরা রয়েছে (192.168.0.8) যা নেটওয়ার্কের মাধ্যমে আরটিএসপি সামগ্রী সম্প্রচার করতে সক্ষম।

আমি আমার কম্পিউটার থেকে পরবর্তী ffmpeg কমান্ড ব্যবহার করে পরিবর্তন ছাড়াই সেই (RAW) সামগ্রীটি সংরক্ষণ করতে সক্ষম হয়েছি:

ffmpeg -i "rtsp://192.168.0.8/stream=0.sdp" -acodec copy -vcodec copy test-raw.mp4

আমি উড়তে এটির আকার পরিবর্তন করতে সক্ষম:

ffmpeg -i "rtsp://192.168.0.8/stream=0.sdp" -vf  "scale=640:-1" test640.mp4

তবে কেবলমাত্র গতি সনাক্তকরণের অংশ রয়েছে এমন ভিডিওটি কীভাবে সংরক্ষণ করবেন?

আমি ffmpeg এর দৃশ্য পরিবর্তন ফিল্টার ব্যবহার করে এটি সমাধান করার চেষ্টা করেছি , তবে ভাগ্য নেই।

আমার লক্ষ্য - সাধারণ ভিডিও মনিটরিং সলিউশন থাকা, যা যখন কেউ ক্যামেরার কাছে চলে যায় তখন সনাক্ত করে এবং ভিডিও ফাইলে সংরক্ষণ করে। আমি বুঝতে পেরেছি যে এটি স্ট্রিম থেকে ফ্লাইতে করা সম্ভব নয়, সুতরাং আমার পক্ষে প্রথমে বড় ফাইলটি সংরক্ষণ করা ঠিক আছে, তারপরে অন্য একটি ffmpeg কমান্ড দিয়ে এটি প্রক্রিয়া করুন এবং নতুন গতিবেগের ফাইল তৈরি করুন যাতে কেবল গতি সনাক্তকারী অংশ রয়েছে। আমার আরও কী গবেষণা করা উচিত তা আপনি যদি আমাকে পরামর্শ দিতে পারেন তবে আমি সত্যিই কৃতজ্ঞ হব।

আমার ক্যামেরা স্ট্রিমটি শব্দ ছাড়াই সঞ্চারিত। সুতরাং, আমি আসল ভিডিও থেকে চিত্রের সেট তৈরি করতে পারি, তারপরে যথাযথ চিত্র বাছাই করতে পারি এবং তারপরে চিত্রগুলি থেকে নতুন ভিডিও সংরক্ষণ করতে পারি।


আপনি কি এই সিস্টেমটি বাস্তবায়ন করতে চান বা পণ্য ব্যবহারের জন্য প্রস্তুত পেতে চান?
Woeitg

@ ওইইটিজিজি আমার কেবল উবুন্টু 15.04+ এর জন্য কোনও নিখরচায় সমাধানের সমাধান দরকার
rfedorov

উইন্ডোজের জন্য, আইএসপি নামে একটি সফ্টওয়্যার রয়েছে, যা আপনি গতি সনাক্তকরণে রেকর্ড করতে পারেন। যেহেতু আপনি একটি লিনাক্স সমাধানের জন্য অনুরোধ করছেন, জোনমাইন্ডার ডটকম একটি অনুরূপ পণ্য হওয়া উচিত। দুর্ভাগ্যবশত আমি কারণ আমি খুব একটা উত্তর চাই আপনার প্রশ্নের সরাসরি উত্তর +1 টি আছে না, কিন্তু
MyNameWouldGoHere

উত্তর:


7

আমি যা করছিলাম তা হ'ল ঠিক যেমনটি আপনি বলেছেন ঠিক select তেমনই হয়েছে এবং স্ট্রিমের একটি বড় ফাইল সংরক্ষণ করুন, তারপরে sceneএক্সপ্রেশন সহ এফএফএমপিইজি ফিল্টারটি ব্যবহার করুন , যা ধারাবাহিক ফ্রেমের মিলের সাথে তুলনা করে: select=gt(scene\,0.003)উদাহরণস্বরূপ। সংখ্যা যত বেশি, ফ্রেমের মধ্যে আরও পরিবর্তন উপেক্ষা করা হবে, দ্রুত পরীক্ষায় আপনার যে ধরণের ফুটেজ কাজ করছেন তার উপর নির্ভর করে আপনাকে 0.00001-0.00005 এর চেয়ে কম যেতে হবে।

setpts ফিল্টারটির সাথে এটি একত্রিত করুন , যা ভিডিও ফ্রেমের "শুরুর সময়" পরিবর্তন করে এবং আপনি (25fps ভিডিওর মতো) কিছু দিয়ে শেষ করতে চান:

ffmpeg -i input.mp4 -vf "select=gt(scene\,0.003),setpts=N/(25*TB)" output.mp4

মনে মনে, আপনি -vcodec copyযখন ভিডিও ফিল্টার ব্যবহার করেন তখন আপনি ব্যবহার করতে পারবেন না ।

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