আইপি ক্যামেরা এবং স্টোর থেকে আরটিএসপি স্ট্রিম ক্যাপচার করুন


18

আমি কয়েকটি আইপি ক্যামেরা পেয়েছি যা একটি আরটিএসপি (h264 এমপিজি 4) স্ট্রিম আউটপুট দেয়।

ভিএলসির মাধ্যমে স্থানীয়ভাবে ইউআরএল হিট করা: rtsp: //192.168.0.21: 554 / এমপিইজি 4

আমি ক্যামেরাটি স্ট্রিম করতে এবং ডিস্কে ফেলে দিতে পারি (আমার ডেস্কটপে)। আমি তবে এই ফাইলগুলি আমার এনএএস (ফ্রিএনএএস) এ সঞ্চয় করতে চাই। আমি আরটিএসপি স্ট্রিমটি ক্যাপচার করার জন্য এবং সেগুলিকে ডিস্কে ফেলে দেওয়ার উপায়গুলি খুঁজছিলাম কিন্তু আমি কিছুই খুঁজে পাচ্ছি না।

ফ্রিবিএসডি বা লিনাক্সের (রাস্পবেরিপি) স্ট্রিমটি ক্যাপচার করা এবং স্ট্রিমযুক্ত সামগ্রীটি স্থানীয় কোনও ডিস্কে লিনাক্স বা ফ্রিবিএসডি-তে সঞ্চারিত করা সম্ভব - প্রায় 30 মিনিট করে?

সম্পাদনা: এনএএস হেডলেস (এইচপি এন 55 এল বা কিছু) এবং রাস্পবেরিপিও মাথা বিহীন।

আমি ইতিমধ্যে জোনমিন্ডারের দিকে নজর রেখেছি তবে আরও ছোট কিছু দরকার। আমি আশা করছিলাম সম্ভবত স্ট্রিমটির গতি সনাক্ত করতে মোশন ব্যবহার করছে তবে এটি পরে আসবে।


কেন লিনাক্সের জন্য ভিএলসি ব্যবহার করবেন না?
ল্যাটিনসইউড

1
ওফ, আমি উল্লেখ করতে ভুলে গেছি যে ফ্রিএনএএস সার্ভার এবং রাস্পবেরিপি উভয়ই মাথাছাড়া!

আপনি কমান্ড লাইন থেকে ভিএলসি ব্যবহার করতে পারেন। তুচ্ছ নয়, তবে সম্ভব।
ল্যাটিনসুড

আরটিএসপি যেমন কেবল একটি প্রোটোকল, এটি কি h264 সামগ্রীটি ফেলে দেবে বা ট্রান্সকোড করার জন্য আমার কি ভিএলসি পেতে হবে?

1
ভাল এটি ভিএলসি কমান্ড লাইন ভুডোর অংশ, এবং দুঃখিত যে কারণে আমি এখানে আপনাকে একটি সম্পূর্ণ উত্তর দিচ্ছি না। আমি মনে করি একটি সম্পূর্ণ ট্রান্সকোডিং প্রয়োজনীয় নয় তবে সম্ভবত ধারকটি পরিবর্তন করুন। আমি আশা করি যে কোনও ভিএলসি বিশেষজ্ঞ এখানে পপ আপ করুন।
ল্যাটিনসুড

উত্তর:


29

আইপি ক্যামেরাগুলি বিভিন্ন মানের হয়, কিছু আমার অভিজ্ঞতায় ভুল আচরণ করে। তাদের আরটিএসপি স্ট্রিমগুলির সাথে কাজ করার জন্য একটি দোষ ত্রুটি-সহনশীলতার প্রয়োজন।

লাইভ 555 প্রকল্পটি সিটিআইয়ের মাধ্যমে আরটিএসপি অডিও / ভিডিও স্ট্রিমগুলি টানার জন্য তুলনামূলকভাবে ত্রুটি-সহনশীল আরটিএসপি ক্লায়েন্ট বাস্তবায়ন, ওপেনআরটিএসপি সরবরাহ করে: http://www.live555.com/openRTSP/

উদাহরণস্বরূপ, কুইকটাইম ফর্ম্যাটে (AVI এবং MP4 পাওয়া যায়) ফাইলগুলিতে কোনও ক্যামেরার আরটিএসপি অডিও / ভিডিও সংরক্ষণ করতে, প্রতি 15 মিনিটে একটি ফাইল:

$ openRTSP -D 1 -c -B 10000000 -b 10000000 -q -Q -F cam_eight -d 28800 -P 900 -t -u admin 123456 rtsp://192.168.1.108:554/11

এই বিকল্পগুলির অর্থ:

-D 1 # Quit if no packets for 1 second or more
-c   # Continuously record, after completion of -d timeframe
-B 10000000 # Input buffer of 10 MB
-b 10000000 # Output buffer 10MB (to file)
-q   # Produce files in QuickTime format
-Q   # Display QOS statistics 
-F cam_eight  # Prefix output filenames with this text
-d 28800      # Run openRTSP this many seconds
-P 900        # Start a new output file every -P seconds
-t            # Request camera end stream over TCP, not UDP
-u admin 123456  # Username and password expected by camera
rtsp://192.168.1.108:554/11  # Camera's RTSP URL

-টি বিকল্পটি অপসারণের পরিবর্তে ওপেনআরটিএসপিটিকে ইউডিপিতে ডিফল্ট করে দেয় যা নেটওয়ার্ক ট্র্যাফিককে কিছুটা হ্রাস করতে পারে। আপনার পক্ষে উপযুক্ত এমন সংমিশ্রণটি খুঁজতে আপনাকে বিকল্পগুলির সাথে খেলতে হবে।

সত্যি বলতে গেলে, ক্যামেরাগুলি কখনও কখনও অবিশ্বাস্য হয়, বা কেবল ভিন্নভাবে প্রয়োগ করা হয় - অপ্রত্যাশিতভাবে সকেটটি বন্ধ করা সমস্ত অস্বাভাবিক নয়।

কখনও কখনও ওপেনআরটিএসপি ক্লায়েন্ট এই গ্লিটগুলি ধরে না। সুতরাং আমি প্রতিটি ওপেনআরটিএসপি ক্লায়েন্টের উদাহরণের স্টাডআউটকে অনুরোধ করতে এবং পর্যবেক্ষণ করতে 'সাবপ্রসেসিস' মডিউলটি ব্যবহার করে পাইথনের একটি নিয়ামক কোড করার বিকল্প বেছে নিয়েছি এবং ফাইলগুলি আকারে বাড়তে চলেছে তাও পরীক্ষা করে দেখছি।

এটি সিসিটিভি শিল্পের নিম্ন-প্রান্তের উপ-উত্পাদক হিসাবে প্রতীয়মান হয়েছে যে মানসম্মতভাবে দ্রুত এবং শিথিল খেলছে, আরটিএসপি এবং ওএনভিআইএফ দু'জনই প্রায়শই দুর্ব্যবহার করা হয়।

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

আমি কয়েকটি রাস্পবেরি পাই বি + চালিত রাস্পবিয়ানে ওপেনআরটিএসপি ব্যবহার করি। প্রতিটি 1280x1024 স্ট্রিম সিপিইউর সময়ের প্রায় 8-10% দখল করে থাকে এবং আমি আরপিআইতে আটটি ক্যামেরা সাফল্যের সাথে চালিয়েছি, এনএএস স্টোরেজে ফাইলগুলি লিখেছি। অন্য আরপিআই ffmpeg দিয়ে ফাইলগুলি সম্পন্ন করে, গতি সন্ধান করে এবং সেই ফ্রেমের সূচক পিএনজি উত্পাদন করে, ব্রেকিংগুলি স্পট করে সহায়তা করতে।

জোনমিন্ডার নামে একটি ওপেন-সোর্স প্রচেষ্টা রয়েছে যা এই পরবর্তী অংশটি করে তবে আমি এটি আমার ক্যামেরায় নিয়ে কাজ করতে পারিনি। ওএনভিআইএফ সমর্থনটি জেডএম-এ নতুন এবং নবজাতক, এবং এটি আমার men 100 আইপি ক্যামেরায় আটকানো স্পটটি আরটিএসপি স্ট্রিমগুলির সাথে ভাল বলে মনে হয় না।


দুর্দান্ত সমাধান কেভিন, আপনি দয়া করে মোশন সন্ধান / পিএনজি ইনডেক্সিং সমাধানের সাথে আরও ভাগ করতে পারেন - কমপক্ষে আরও কোথায় খনন করতে হবে?
ইগোর

@ কেভিন-প্রিকার্ড আমি বুঝতে চেয়েছিলাম, ১. আমি যদি এনালগ এসডি সিভিএসবি কে আইপি স্ট্রিমে রূপান্তর করতে পারি তবে কী আপনার সমাধান কাজ করবে? (আমি প্রতিটি উত্স থেকে 1 ঘন্টা অংশে এমপি 4 ভিডিও ক্যাপচার করতে চাই) এবং আমি কি 24/7 একক নেটওয়ার্কের মধ্যে 300 টি স্ট্রিম রেকর্ড করতে সক্ষম হব বা এই নেটওয়ার্কটি ওভারলোড করব? ২) এনালগ এসডি / সিভিএসবি কে আইপি স্ট্রিমে রূপান্তর করা সম্ভব?
সিপি

7

আমি কেবল ভেবেছিলাম যে আমি আমার দুটি সেন্ট যুক্ত করব এবং বিজর্নআর এর উত্তরটির পরিপূরক করব।

পর্যায়ক্রমে ভিএলসি প্রক্রিয়াটি মেরে ফেলার জন্য ক্রোন জব চালানোর পরিবর্তে, কেউ ভিএলসিকে একটি নির্দিষ্ট সময়ের জন্য চালানো এবং তারপরে কাছাকাছি আসতে বলে দিতে পারে।

এই আদেশটি আমি আমার বাক্সে চালাচ্ছি:

/usr/bin/vlc -vvv rtsp://192.168.1.128:1554/11 --sout=file/ts:/media/path/to/save/location/recording-$(date +"%Y%m%d%H%M%S").ts -I dummy --stop-time=480 vlc://quit

এটি নির্দিষ্ট সময়ের জন্য ভিএলসি চালায় এবং পরে প্রস্থান করে। ভিএলসি: // ছাড়ার প্যারামিটারটি প্রয়োজনীয় কারণ ভিএলসি রেকর্ডিং বন্ধ করে এবং উন্মুক্ত থাকবে। এই কমান্ডটি একটি লুপের ভিতরে স্থাপন করা দরকার।

আমি এখনও অবধি কেবলমাত্র সমস্যাটি খুঁজে পেয়েছি হ'ল প্রতিবার নতুন রেকর্ডিং শুরু হওয়ার পরে এটি কয়েক সেকেন্ড মিস করতে পারে।


7

আমি যদি আপনার প্রশ্নটি সঠিকভাবে অনুসরণ করি তবে আপনি লিনাক্স সিস্টেমে (আরপিআই) নিম্নলিখিত আদেশটি কেন ব্যবহার করবেন না:

ffmpeg -i rtsp://192.168.0.21:554/mpeg4 -vcodec copy -acodec copy -map 0 -f segment -segment_time 300 -segment_format mp4 "ffmpeg_capture-%03d.mp4"

এটি ভিডিওটিকে 300 সেকেন্ডের মধ্যে বাঁচাতে হবে। (নোট করুন যে ক্লিপ দৈর্ঘ্য আপনার ইনপুট এবং আউটপুট ফ্রেমের হারের উপর নির্ভর করবে)


5

আপনার প্রবাহ প্রক্রিয়া করার জন্য ভিএলসি দেখতে আদর্শ প্রার্থীর মতো দেখাচ্ছে looks একটি স্ট্রিম ক্যাপচারের প্রাথমিক পদ্ধতিগুলি ভিডিওোলন ওয়েবসাইটে বর্ণিত হয়েছে। আমি নিম্নলিখিত কমান্ডটি ব্যবহার করে সফলভাবে আমার ডি-লিংক ডিসিএস-5222 নেটওয়ার্ক ক্যামেরার আউটপুট রেকর্ড করেছি:

vlc rtsp://user:password@ip/play1.sdp --sout=file/ogg:mystream.ogv

আপনার ক্ষেত্রে, এটি স্থানীয়ভাবে আউটপুট সংরক্ষণ করতে কাজ করতে পারে:

vlc rtsp://192.168.0.21:554/mpeg4 --sout=file/ts:mystream.mpg

আমি কোনও স্ক্রিপ্ট চালানোর পরামর্শ দেব যা এই ভিএলসি প্রক্রিয়াটি শেষ করে এবং প্রতি 30 মিনিটে একটি নতুন উদাহরণ চালু করবে কারণ আমি নিশ্চিত না যে ভিএলসি এটি করতে সক্ষম কিনা is

কোনও এনএএস-তে সঞ্চয় করার জন্য এটি কেবল আপনার স্থানীয় ফাইল সিস্টেমে মাউন্ট করুন।


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