লগিটেক সি 920 সহ এইচ 264 স্ট্রিমিং


13

আমার কাছে একটি লজিটেক সি 920 ওয়েবক্যাম রয়েছে। এটিতে H264 এ সরাসরি ভিডিও এনকোড করার ক্ষমতা রয়েছে।

আমি একটি বিগলবোন দিয়ে যা করেছি তা পুনরুত্পাদন করতে চাই, তবে একটি রাস্পবেরি পাই ব্যবহার করে: নেটওয়ার্কে একটি H264 স্ট্রিম প্রেরণ করুন । রাস্পবেরি পাই কেবল তখনই এখানে আরটিপিতে স্ট্রিমটি প্যাকটিটিজ করার জন্য, ভিডিও সংক্ষেপণ নিজেই ওয়েবক্যাম দ্বারা সম্পন্ন হয়। এইচ 264 মোডটি ভিডিও 4 লিনাক্স ব্যবহার করে প্রয়োগ করা হয়।

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

cvlc --sout=#rtp{sdp=rtsp://:8554/test} 'v4l2:///dev/video0:chroma=H264:width=800:height=600:fps=30'

... এবং তারপরে আমি যদি অন্য কম্পিউটারে ভিএলসি দিয়ে স্ট্রিমটি পড়ে থাকি তবে ঠিক আছে।

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

প্রদত্ত "ক্যাপচার" ইউটিলিটি সহ বিগলেবোনটির জন্য বর্ণিত পদ্ধতিটিও চেষ্টা করে দেখলাম : ঠিক যদি আমি একটি সত্যিকারের কম্পিউটার থেকে প্রবাহিত করি তবে আমি যদি রাস্পবেরি পাই থেকে প্রবাহিত করি তবে একই আবর্জনার সমস্যা।

এটি কোনও নেটওয়ার্ক সমস্যা নয়: আমি ওয়্যারশার্ক এবং ভিএলসির পরিসংখ্যানের সাথে কিছু নেটওয়ার্ক চেক করেছি, আমার কোনও প্যাকেটের ক্ষতি নেই। আমি রাস্পবিয়ান, এবং আর্স লিনাক্সের সাথে রাস্পির জন্য চেষ্টা করেছি (রাস্পবিয়ানে gstreamer 0.10, আর্চ লিনাক্সে gstreamer 1.0)।

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

ভিডিওর মান বাড়ানোর জন্য আমি কী করতে পারি তার কোনও ধারণা?


ফ্রেমের হার হ্রাস করার চেষ্টা করুন। আরপিআইয়ের সিপিইউ খুব দুর্বল, সুতরাং আমার ধারণা 30FPS এ 800x600 চিত্র প্রেরণ করা খুব বেশি too কেবলমাত্র নতুন আরপিআই ক্যামেরা বোর্ড যা এমআইপিআই / সিআইএস সংযোগকারী (ইউএসবি পরিবর্তে) এর মাধ্যমে সংযুক্ত থাকে 15-30 এফপিএসে 1080p প্রবাহিত করে।
ম্যাথিয়াস

এটি এফপিএস নয়। পাই পাই ক্যামেরা মডিউলটি ব্যবহার করে কোনও সমস্যা ছাড়াই 60FPS এ এইচডি হ্যান্ডেল করতে পারে। লজিটিচ ক্যামেরা যদি H264 ভিডিওটি এর ইতিমধ্যে এনকোডযুক্ত প্রেরণ করে এবং পাইকে প্যাকেটগুলি পুনরায় ব্রডকাস্ট করা দরকার যা এটি সম্পূর্ণরূপে সক্ষম। প্রকৃতপক্ষে এটি সর্বাধিকতর হওয়ার আগে 6 টি এইচডি @ 25 এফপিএস স্ট্রিমগুলি পুনরায় প্রচার করতে পারে। এটি অবশ্যই ভি 4 এল ড্রাইভার দুর্নীতির প্যাকেটগুলির হতে হবে
পাইওটার কুলা

আমি জানি এটি একটি পুরানো থ্রেড, তবে আপনি অবশেষে এমন কোনও জিনিস খুঁজে পেয়েছেন যা কাজ করে? আমি অনুরূপ কিছু করার চেষ্টা করছি এবং আটকেছি
আজিত

আমি একটি বিগলবোন ব্যবহার করেছি এবং এটি আরও ভাল কাজ করেছে। সমস্যাটি ছিল রাস্পবিয়ানের রাস্পবেরিপির জন্য খারাপ ইউএসবি ড্রাইভারের কারণে। যতদূর আমার মনে আছে, আমি পরে রাস্পবিয়ান সংস্করণের সাথে একই সিস্টেমটি পরীক্ষা করেছিলাম এবং আমার আবর্জনা কম ছিল। আমি একটি আরপিআই-আপডেট করতে পারি (উত্তরের একটি হিসাবে বলা হয়েছে), তবে আমি ভাল মনে নেই। তবে নিশ্চিত যে একটি আপডেট ফার্মওয়্যার / অপারেশন সিস্টেম ব্যবহারের পরে পারফরম্যান্সটি আরও ভাল ছিল।
ভিনসেন্ট হিরিবারেন

ভিনসেন্ট, আমি একটি 'v4l2 url খুলতে পারি না' ত্রুটি পাচ্ছি। এই আদেশটি কি এখন পুরানো?
দালানমিলার

উত্তর:


6

আমার একই সমস্যা ছিল, c920 সমস্যার জন্য নয়, একটি হার্ডওয়্যার এনকোডার অনুসন্ধান করার সময় এই থ্রেডটি পেয়েছি।

তবুও, রাস্পবেরি পাইয়ের জন্য একটি ফার্মওয়্যার আপডেট কার্যকর করুন এবং আবর্জনা শেষ করা উচিত

।> সুডো আরপিআই-আপডেট

আমি নিজেই এখানে সমাধানটি খুঁজে পেয়েছি: http://wiki.matthiasbock.net/index.php/Logitech_C920,_ প্রবাহিত _.264# রেস্পবেরি_পি


এই প্রশ্নটি বন্ধ করার জন্য, আমি সেই উত্তরটি গ্রহণ করি। সমস্যাটি ছিল একটি ভাঙ্গা ইউএসবি ড্রাইভারের কারণে, ইউএসবি যোগাযোগে কিছু প্যাকেট নষ্ট হয়েছিল। একটি আপডেট সিস্টেম / ফার্মওয়্যারের কৌশলটি করা উচিত।
ভিনসেন্ট হিরিবারেন

2

আপনি এফএফএমপিইগ চেষ্টা করে ব্যবহার করতে পারেন। তবে সমস্যাটি সংগ্রহস্থলগুলির সংস্করণটি ব্যবহার করার নয় কারণ এটি পুরানো। এখানে একটি কাঁটাযুক্ত সংস্করণ রয়েছে যা সত্যই ভাল কাজ করে।

আপনাকে এটি সংকলন করতে হবে যা 5 বা তাই ঘন্টা সময় নেয় বা একটি প্রাকম্পাইল্ড বাইনারি ডাউনলোড করতে পারে।

তারপরে আপনি এই সেটিংসের সাহায্যে ভি 4 এল ড্রাইভার থেকে এফএফএমপিইজে ডেটা পাইপ করতে পারেন। কোথায় -i "fifo"ঠিক হওয়া উচিত -iপাইপ প্রবাহ caputre প্রয়োজন এবং -fকিভাবে আপনি আউটপুট এটা H264 করতে দুবার চেক করতে হবে। এফএলভি এফএলভিতে এটি পুনরায় বিতরণ করে যা এইচটিএমএল প্লেয়ারের সাথে খেলানো যায়।

ffmpeg -y \  
  -f h264 \  
  -i "$fifo" \  
  -c:v copy \  
  -map 0:0 \  
  -f flv "$urllocal"   

বা একটি অসাধারণ আমি খুঁজে পেয়েছি যে ভি 4 এলকে সরাসরি টার্গেট করে তবে /dev/video* যেখানে ক্যামেরা উপস্থিত থাকে * সেখানে 1বা আরও বেশি ...

ffmpeg -f video4linux2 -r 25 -s 640x480 -i /dev/video0 out.avi

-fমধ্যে আউটপুট বিন্যাস উল্লেখ করে। এর মানে এই নয় তা FLV থেকে H264 শুধু FLV ফরম্যাট আবৃত পরার মত ট্রান্সকোড হবে। তারপরে আপনার ক্লায়েন্টদের ভিএলসি প্লেয়ারের ঠিকানাটি পরিবর্তন করুন। উদাহরণ স্বরূপ-f mpegts udp:192.168.1.19:1234

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

আপনি আরটিএমপি মডিউলের সাথে এনজিঞ্জ ইনস্টল করতেও পারেন যা কোনও ট্রিট কাজ করে। এই গাইডটি দেখুন তবে আপনাকে সেটিংসটি কিছুটা সামান্য তিরস্কার করতে হবে। তারপরে আপনি আপনার ভিএলসি প্লেয়ারকে nginx-rtmp স্ট্রিমের সাথে সংযুক্ত করুন এবং এটি একটি কবজির মতো কাজ করবে।


1
কোন কাঁটা সংস্করণ ভাল কাজ করে?
ব্রায়ান

1

এটি আমার পক্ষে কমপক্ষে ... cvlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 :v4l2-height=480 --sout="#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/live.ts}" -I dummy


0

ভিডিও প্রদর্শিত ক্লায়েন্টের বৃহত্তর বাফার দিয়ে চেষ্টা করুন। আমার জন্য 1000 মিমি বাফার এবং 200 মিমির বাফারের মধ্যে নাটকীয় পার্থক্য রয়েছে। 5000ms বাফারটি 1000 মিমির বাফারের চেয়ে ভাল দেখায়।

: নেটওয়ার্ক-ক্যাশে = 2000


এটি ল্যানে অদ্ভুত জটলা দিয়ে 0 টি ক্যাচিংয়ের সাথে কাজ করা উচিত I পাই ক্যামেরা মডিউলটি কোনও সমস্যা ছাড়াই এমনভাবে কাজ করতে পেল।
পাইটর কুলা

0

আমি লাইভ 555 এর ভিত্তিতে লাইটওয়েট আরটিএসপি সার্ভার ব্যবহার করে রাস্পবেরি ফোরামে একটি সম্ভাব্য সমাধান পোস্ট করেছি যা ভি 4 এল 2 ড্রাইভার থেকে H264 ক্যাপচার করে। এটি গিথুব h264_v4l2_rtspserver থেকে পাওয়া যায়

এটি রাস্পিক্যামের জন্য করা হয়েছিল, তবে এটি H264 সরবরাহকারী কোনও ভি 4 এল 2 ডিভাইসের সাথে কাজ করা উচিত।


-1

যদি আমি আপনার পরিস্থিতিটি ভালভাবে বুঝতে পারি তবে আপনি কী রাস্পবেরি ভিডিও H264 এ ট্রান্সকোড করতে চান? আমি মনে করি সে কারণেই আপনি খারাপ পারফরম্যান্স পান কারণ ভিএলসি সফ্টওয়্যার এনকোডিং ব্যবহার করছে এবং রাস্পবেরিস সেই কাজের জন্য শক্তিশালী নয়।

আমি Gstreamer এবং gst-omxপ্লাগইনগুলির সাথে চেষ্টা করার পরামর্শ দেব । হার্ডওয়্যার ভিডিও এনকোডিংয়ের জন্য উপাদান রয়েছে যা আপনার রাস্পবেরি থেকে ভাল সার্ভার তৈরি করতে পারে।


1
যেমনটি তিনি বলেছিলেন, লগিটেক ক্যামেরা ইতিমধ্যে H.264 সরবরাহ করে। সুতরাং আরপিআই কেবল ফ্রেম পরিবহন করছে তবে কোনও এনকোডিং করছে না।
ম্যাথিয়াস

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