이 게시물 은 VLC를 사용하여 스트리밍하는 방법을 보여줍니다. 그것은 잘 작동하고 간단하지만 두 번째 지연에 대해 알려줍니다. 이 게시물 은 GStreamer를 사용하며 0.3 초의 지연이 있습니다. 더 적게 부탁합니다.
Raspberry Pi 그래픽 칩을 사용하여 인코딩 속도를 높일 수 있습니까?
이 게시물 은 VLC를 사용하여 스트리밍하는 방법을 보여줍니다. 그것은 잘 작동하고 간단하지만 두 번째 지연에 대해 알려줍니다. 이 게시물 은 GStreamer를 사용하며 0.3 초의 지연이 있습니다. 더 적게 부탁합니다.
Raspberry Pi 그래픽 칩을 사용하여 인코딩 속도를 높일 수 있습니까?
답변:
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/video1
v4l2 캡처를 지원하는 모든 소프트웨어 에서 장치 를 열 수 있습니다 .
gst-1.0 솔루션 (v4l2loopback은 gst-1.0에서 작동하지 않음)의 경우 Antonvh 블로그 게시물을 보도록하겠습니다 .
나는 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
다음을 확인하십시오 :
이 비디오 레시피를 사용합니다 : http://archpi.dabase.com/#sending-and-receiving-pi-camera-video-over-the-network
https://github.com/thaytan/gst-rpicamsrc 를 사용해 보셨습니까 ? 좀 더 간소화되어야합니다. Tbh, 나는 그것을 시도 귀찮게 할 수 없습니다.
0.3s 지연은 꽤 훌륭합니다.