hardware:raspi-vc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
hardware:raspi-vc [2020/05/15 16:04] – created derpeterhardware:raspi-vc [2020/07/15 10:13] – [read encoded video with gst and provide output via srt server] derpeter
Line 2: Line 2:
 This page is currently a research collection and commands might not work This page is currently a research collection and commands might not work
  
-gstreamer pipe gen srt mit kaputtem alsasrc-audio vom usb:+{{ :hardware:signal-attachment-2020-05-15-153418.jpeg?400|}} 
 + 
 +* https://www.raspberrypi.org/documentation/raspbian/applications/camera.md 
 +* https://github.com/thaytan/gst-rpicamsrc 
 +* https://github.com/waveform80/picamera 
 +* https://stamm-wilbrandt.de/en/Raspberry_camera.html 
 + 
 +== gstreamer pipe gen srt mit kaputtem alsasrc-audio vom usb:
  
 gst-launch-1.0 rpicamsrc inline-headers=true annotation-mode=date+time+frame-number+black-background brightness=60 preview=1 awb-mode=1 bitrate=10000000 exposure-mode=fixedfps sensor-mode=1 keyframe-interval=25 ! 'video/x-h264, width=1920, height=1080, framerate=25/1, profile=high'  ! muxout. alsasrc device=hw:1,0 actual-latency-time=12000 buffer-time=200000  ! audioconvert ! avenc_aac ! aacparse ! muxout. mpegtsmux name=muxout ! queue  ! srtserversink uri='srt://:8888/' gst-launch-1.0 rpicamsrc inline-headers=true annotation-mode=date+time+frame-number+black-background brightness=60 preview=1 awb-mode=1 bitrate=10000000 exposure-mode=fixedfps sensor-mode=1 keyframe-interval=25 ! 'video/x-h264, width=1920, height=1080, framerate=25/1, profile=high'  ! muxout. alsasrc device=hw:1,0 actual-latency-time=12000 buffer-time=200000  ! audioconvert ! avenc_aac ! aacparse ! muxout. mpegtsmux name=muxout ! queue  ! srtserversink uri='srt://:8888/'
  
-funktionierendes audio mit ffmpeg und ner pipe in das srt-tool "srt-live-transmit":+== funktionierendes audio mit ffmpeg und ner pipe in das srt-tool "srt-live-transmit":
  
 ffmpeg -analyzeduration 500000  -probesize 100000 -thread_queue_size 512 -f v4l2 -input_format h264 -video_size 1920x1080 -framerate 30 -i /dev/video0 -thread_queue_size 512 -f alsa -sample_rate 44100 -ac 2 -i hw:1 -map 0:0 -map 1:0 -bufsize 0 -af 'adelay=520|520,volume=0dB' -vcodec copy -acodec aac -f mpegts - | srt-live-transmit -v file://con 'srt://:8888&delay=80' -c 1316 ffmpeg -analyzeduration 500000  -probesize 100000 -thread_queue_size 512 -f v4l2 -input_format h264 -video_size 1920x1080 -framerate 30 -i /dev/video0 -thread_queue_size 512 -f alsa -sample_rate 44100 -ac 2 -i hw:1 -map 0:0 -map 1:0 -bufsize 0 -af 'adelay=520|520,volume=0dB' -vcodec copy -acodec aac -f mpegts - | srt-live-transmit -v file://con 'srt://:8888&delay=80' -c 1316
Line 15: Line 22:
 v4l2-ctl -c h264_i_frame_period=25 v4l2-ctl -c h264_i_frame_period=25
  
-rtmp stream from pi cam+== rtmp stream from pi cam
 raspivid -fps 25 -h 1080 -w 1920 -n -t 0 -g 5 -b 5000000 -stm -o - | gst-launch-1.0 -v fdsrc ! h264parse !  flvmux ! rtmpsink location='rtmp://changeme/stream/bla live=1' raspivid -fps 25 -h 1080 -w 1920 -n -t 0 -g 5 -b 5000000 -stm -o - | gst-launch-1.0 -v fdsrc ! h264parse !  flvmux ! rtmpsink location='rtmp://changeme/stream/bla live=1'
  
 +
 +== RTP stream sink and source
 +
 +raspivid -fps 25 -h 1080 -w 1920 -n -t 0 -b 5000000 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 ! gdppay ! tcpserversink host=10.23.42.145 port=5000
 +
 +gst-launch-1.0 -v tcpclientsrc host=10.23.42.145 port=5000 ! gdpdepay ! rtph264depay ! decodebin !  autovideosink sync=false
 +
 +== Capture from UVC capture device and stream rtmp
 +
 +=== video4linux
 +gst-launch-1.0  v4l2src device=/dev/video0 do-timestamp=true ! videoscale !  videorate  ! videoconvert ! video/x-raw,width=1920,height=1080,framerate=25/ ! omxh264enc control-rate=variable target-bitrate=5000000  !  h264parse ! flvmux ! rtmpsink location='rtmp://<host>/stream/picam live=1'
 +
 +=== raspivid wrapper
 +gst-launch-1.0 rpicamsrc bitrate=5000000  do-timestamp=true ! h264parse ! flvmux ! rtmpsink location='rtmp://<host>/stream/picam'
 +
 += read encoded video with ffmpeg from the cam
 +ffmpeg -f video4linux2 -input_format h264 -video_size 1920x1080 -framerate 30 -i /dev/video0 -vcodec copy -an test.h264
 +
 += read encoded video with gst and provide output via srt server
 +gst-launch-1.0 rpicamsrc bitrate=8000000 ! video/x-h264, framerate=25/1, profile=high ! h264parse config-interval=1 !  mpegtsmux ! queue ! srtserversink uri=srt://:10000/
  • hardware/raspi-vc.txt
  • Last modified: 2020/12/14 02:20
  • by andi