지연 시간이 가장 작은 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를 사용하면 60Hz에서 1280 x 720으로 100 ~ 116ms의 대기 시간에 도달합니다.

저를 올바른 길로 안내하는 @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/video1v4l2 캡처를 지원하는 모든 소프트웨어 에서 장치 를 열 수 있습니다 .

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 드라이버 작동하는지 궁금
— 피오트르 쿨라를

이 솔루션의 문제점은 재생 측에서 많은 문제가 발생한다는 것입니다. 당신이 그것에 대한 해결책을 찾았는지 궁금합니다.
— 9a3eedi

1

이 비디오 레시피를 사용합니다 : http://archpi.dabase.com/#sending-and-receiving-pi-camera-video-over-the-network

https://github.com/thaytan/gst-rpicamsrc 를 사용해 보셨습니까 ? 좀 더 간소화되어야합니다. Tbh, 나는 그것을 시도 귀찮게 할 수 없습니다.

0.3s 지연은 꽤 훌륭합니다.


1
링크 주셔서 감사합니다! 나는 0.3s 미만의 지연을 가지고 있다고 생각하지만 여전히 솔루션을 문서화하고 정확하게 측정해야합니다. 곧 게시 할 예정입니다. 측정 값이 0.3 이상인 것으로 판명되면 다른 레시피를 시도해보십시오.
— Antonvh

@Antonvh 연구 / 측정은 어떻습니까? 이 답변이 더 나은 결과를 얻고 있습니까?
— RPiAwesomeness
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.