โซลูชั่นสตรีมใดสำหรับ Picam มีความล่าช้าน้อยที่สุด


9

โพสต์นี้แสดงวิธีการสตรีมโดยใช้ VLC มันใช้งานได้ดีและเรียบง่าย แต่ให้ฉันเกี่ยวกับความล่าช้าที่สอง โพสต์นี้ใช้ GStreamer และมีความล่าช้า 0.3 วินาที ฉันต้องการน้อย

เป็นไปได้ไหมที่จะใช้ชิปกราฟิก Raspberry Pi เพื่อเพิ่มความเร็วในการเข้ารหัส?


ยังไม่สามารถทำได้ ความล่าช้า 0.3ms นั้นดีมากและคุณจะไม่ดีขึ้น (ณ ตอนนี้) เพราะการขาด V2L อาจจะช่วยได้
Piotr Kula

@ ppumkin ฉันคิดว่า OP บอกว่าความล่าช้าคือ. 3 วินาทีไม่ใช่มิลลิวินาที นอกจากนี้คุณหมายถึง V4L หรือไม่
syb0rg

จ้ะ 3ms ฉันกำลังคิด ไดรเวอร์ Video4Linux หรือเรียกว่าอย่างอื่น คุณรู้. ไดรเวอร์พื้นเมือง
Piotr Kula

@ppumkin Ahh แล้วคุณจะผิด ไดรเวอร์ V4L2 ถูกรวมอยู่ใน NOOBS v1.3.3
syb0rg

คำตอบ:


9

ด้วย Ubuntu 14.10 และ Gstreamer ฉันถึง 100 ถึง 116 ms latency ด้วย 1280 x 720 @ 60Hz

รถถังไปที่ @Antonvh ที่ทำให้ฉันไปถูกทาง ฉันทำซ้ำที่นี่ทางออกสำหรับการอ้างอิงในภายหลัง

หากต้องการสตรีมจาก Pi:

raspivid -t 0 -b 2000000  -fps 60 -w 1280 -h 720 -o - \
  | gst-launch-1.0 -e -vvv fdsrc ! h264parse ! rtph264pay pt=96 config-interval=5 \ 
  ! udpsink host=10.42.0.1 port=5001

ในการรับมันบนคอมพิวเตอร์ของคุณด้วย gst-0.10 และส่งไปยังอุปกรณ์เสมือน v4l2 (แน่นอนคุณต้องมีv4l2loopback ):

gst-launch -v udpsrc port=5001 ! application/x-rtp, payload=96 ! rtph264depay \ 
! ffdec_h264 ! ffmpegcolorspace ! v4l2sink device=/dev/video1

จากนั้นคุณสามารถเปิดอุปกรณ์/dev/video1ในซอฟต์แวร์ใดก็ได้ที่รองรับการจับภาพ v4l2

สำหรับ GST-1.0 วิธีการแก้ปัญหา (v4l2loopback ไม่ได้ทำงานกับ GST-1.0) ผมปล่อยให้คุณเห็นโพสต์บล็อก Antonvh


4

ฉันประสบความล่าช้า 200ms! เคล็ดลับ: ส่งเฟรมน้อยลงจาก Pi มากกว่าที่คุณอ่านบนฝั่งระยะไกลสิ่งนี้ทำให้แน่ใจว่าบัฟเฟอร์ยังคงว่างเปล่า

นี่คือภาพที่ฉันถ่ายจาก RPi ที่ถ่ายทำนาฬิกาจับเวลา มันแสดงให้เห็นถึงความแตกต่างของเวลา

นี่คือสูตรที่ฉันใช้ ครั้งแรกบนแล็ปท็อป (Mac) ทำสิ่งนี้:

nc -l 5001 | mplayer -fps 24 -cache 1024 -

จากนั้นใน RPI เริ่มสตรีมมิ่ง:

raspivid -t 999999 -w 1280 -h 720 -fps 20 -o - | nc 192.168.178.22 5001

ตรวจสอบให้แน่ใจว่า:

  • ติดตั้ง mplayer ก่อน มีเพียงวิธี Homebrew ที่ใช้ได้สำหรับฉัน การดาวน์โหลดปกติผิดปกติ
  • เปลี่ยนหมายเลข ip ด้านบนเป็นจำนวนแล็ปท็อปของคุณ

นี่เป็นเคล็ดลับที่ฉลาด! ฉันสงสัยว่ามันใช้ได้กับไดรเวอร์ UV4L ใหม่ด้วยหรือไม่
Piotr Kula

ปัญหาเกี่ยวกับวิธีแก้ไขปัญหานี้คือมีการพูดติดอ่างจำนวนมากจากด้านการเล่น ฉันสงสัยว่าถ้าคุณพบวิธีแก้ปัญหา
9a3eedi

1

ฉันใช้สูตรวิดีโอนี้: http://archpi.dabase.com/#sending-and-receiving-pi-camera-video-over-the-network

คุณลองhttps://github.com/thaytan/gst-rpicamsrc แล้วหรือยัง ที่ควรจะคล่องตัวมากขึ้นเล็กน้อย ฉันไม่อยากลองเลย

ความล่าช้า 0.3s ค่อนข้างดี


1
ขอบคุณสำหรับลิงค์! ฉันคิดว่าตอนนี้ฉันมีความล่าช้าน้อยกว่า 0.3 ฉันยังคงต้องทำเอกสารการแก้ปัญหาและทำการวัดอย่างแม่นยำ จะโพสต์เร็ว ๆ นี้ หากการวัดของฉันพิสูจน์ได้ว่ามากกว่า 0.3 ฉันจะลองสูตรอื่น ๆ
Antonvh

@Antonvh การวิจัย / การวัดเป็นอย่างไร คำตอบนี้ทำให้คุณได้ผลลัพธ์ที่ดีขึ้นหรือไม่?
RPiAwesomeness
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.