লিনাক্স সার্ভার (এফএফপিপিগ) এবং উইন্ডোজ ক্লায়েন্ট (ভিএলসি প্লেয়ার) এর মধ্যে একটি ভিডিও স্ট্রিমিং অ্যাপ্লিকেশনে , প্রায় 10 সেকেন্ডের একটি লক্ষণীয় বিলম্ব রয়েছে।
FFmpeg কমান্ড:
ffmpeg -re -f v4l2 -i /dev/video0 http://192.168.1.101:8090/feed1.ffm
ভিএলসি প্লেয়ার:
http://192.168.1.101:8090/test.swf
সার্ভার এবং ক্লায়েন্ট উভয়ই একসাথে শুরু হওয়া সত্ত্বেও, ভিএলসি প্লেয়ার স্ট্রিমটি খেলতে প্রায় 10 সেকেন্ড বিলম্বিত করে, এটি প্রথম ফ্রেম থেকে সার্ভারের ক্যাপচারে খেলে playing এই কারণে, নিয়মিত 10 সেকেন্ডের জন্য বিলম্ব হয়।
আমি এই বিলম্বের কারণ কী তা জানার চেষ্টা করছি:
আমার প্রথম চিন্তাটি কোডেকটি এনকোডিংয়ের সাথে বিলম্ব করে। এই ক্ষেত্রে, আমার ffserver কনফিগারেশন ফাইলটিতে আমার কোন কোডেক অন্তর্ভুক্ত করা উচিত? আমি অনেক ভিডিও কোডেক (কাঁচাভিডিও, এফএলভি, এমজেপেইগ) নিয়ে পরীক্ষা নিরীক্ষা করেছি তবে একই ফলাফল।
দ্বিতীয়ত, বিলম্বতা নিয়ন্ত্রণ করতে আমার ffmpeg কমান্ডের মধ্যে আমি কী প্যারামিটার অন্তর্ভুক্ত করতে পারি?
অন্যদিকে, ভিএলসি প্লেয়ারের কারণে এই বিলম্ব হতে পারে?
আমি বুঝতে পেরেছি যে এই প্রশ্নটি করুণ সাধারণ। যাইহোক, কোনও সহায়তা, যদি আপনি একই ধরণের সমস্যার মুখোমুখি হন তবে খুব প্রশংসা হবে।
FFserver কনফিগারেশন ফাইল:
Port 8090
BindAddress 0.0.0.0
MaxClients 10
MaxBandwidth 40000
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 500M
ACL allow localhost
ACL allow 127.0.0.1
ACL allow 192.168.0.0 192.168.255.255
</Feed>
<Stream test.swf>
Feed feed1.ffm
Format swf
VideoCodec flv
VideoSize 640x480
VideoFrameRate 30
VideoBitRate 400
AVOptionVideo flags +global_header
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 42
PreRoll 5
StartSendOnKey
NoAudio
</Stream>