06/12/16 [x393][master] by Andrey Filippov: working on DSP-based 8x8 DCT implementing Chen algorithm
    Andrey Filippov committed changes to the Elphel git project :
working on DSP-based 8x8 DCT implementing Chen algorithm
working on DSP-based 8x8 DCT implementing Chen algorithm
06/11/16 [mechanical-parts][master] by Andrey Filippov: Merge branch 'master' of https://github.com/Elphel/mechanical-parts
    Andrey Filippov committed changes to the Elphel git project :
Merge branch 'master' of https://github.com/Elphel/mechanical-parts
Merge branch 'master' of https://github.com/Elphel/mechanical-parts
06/11/16 [vdt-plugin][master] by Andrey Filippov: Update README.md
    Andrey Filippov committed changes to the Elphel git project :
Update README.md
Update README.md
06/09/16 [elphel-apps-camogm][master] by Mikhail Karpenko: WIP: single threaded app
    Mikhail Karpenko committed changes to the Elphel git project :
WIP: single threaded app
WIP: single threaded app
10393 power
    
			
			
			
			
		
		← Older revision
		Revision as of 01:19, 10 June 2016
		Line 19:
Line 19:
 ** 48V => 0.42+ A ** 48V => 0.42+ A
 ** 12V => 1.67+ A ** 12V => 1.67+ A
 +
 +[[Category:393]]
		Oleg  
Using gstreamer
GStreamer plugins:
← Older revision Revision as of 01:06, 10 June 2016 (6 intermediate revisions not shown)Line 8: Line 8: = Installing GStreamer = = Installing GStreamer = -[http://blog.nicolargo.com/ NicoLargo] made [http://blog.nicolargo.com/2010/05/installation-de-tout-les-composants-gstreamer-sous-ubuntu.html a script] to automatically install all the required packages for GStreamer on Ubuntu 10.04. Should work for up to (K)Ubuntu 16.04 as well.+* [http://blog.nicolargo.com/ NicoLargo] made [http://blog.nicolargo.com/2010/05/installation-de-tout-les-composants-gstreamer-sous-ubuntu.html a script] to automatically install all the required packages for GStreamer on Ubuntu 10.04. Should work for up to (K)Ubuntu 16.04 as well. Or: +<font size='2'> + sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly +</font> = Tips = = Tips = Line 16: Line 19: * You won't get 25 fps if autoexposure is on and local brightness not high enough: the camera will automatically lower framerate for keeping clear picture. Either lighten up, or play with image settings (notably, gain). * You won't get 25 fps if autoexposure is on and local brightness not high enough: the camera will automatically lower framerate for keeping clear picture. Either lighten up, or play with image settings (notably, gain). +== GStreamer plugins == +* All of the plugins are listed [https://gstreamer.freedesktop.org/documentation/plugins.html here]. +* Alternative way of learning a plugin's parameters is: +** version 1.0 +<font size='2'> + gst-inspect-1.0 <name> +</font> +** version 0.10 +<font size='2'> + gst-inspect-0.1 <name> +</font> = Command line examples = = Command line examples = Line 131: Line 145: Notes: Notes: * I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads). * I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads). + +==Useful links== +* [http://wiki.oz9aec.net/index.php/Gstreamer_cheat_sheet GStreamer cheat sheet] +* [http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines Example GStreamer pipelines] +* [https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/ GStreamer dynamic pipelines] +* [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html Dynamic pipelines] [[Category:393]] [[Category:393]] [[Category:353]] [[Category:353]] OlegTmp manual
Display:
← Older revision Revision as of 00:44, 10 June 2016 (4 intermediate revisions not shown)Line 36: Line 36: ==<font color="blue">Get images</font>== ==<font color="blue">Get images</font>== -channel 1: http://192.168.0.8:2323/noexif/img+channel 1: http://192.168.0.8:2323/img -channel 2: http://192.168.0.8:2324/noexif/img+channel 2: http://192.168.0.8:2324/img -channel 3: http://192.168.0.8:2325/noexif/img+channel 3: http://192.168.0.8:2325/img -channel 4: http://192.168.0.8:2326/noexif/img+channel 4: http://192.168.0.8:2326/img -==<font color="blue">Video recording</font>==+==<font color="blue">Video</font>== +===Display=== +<font size='2'> + gst-launch-1.0 souphttpsrc is-live=true location=http://192.168.0.8:2323/mimg ! jpegdec ! xvimagesink +</font> +* Only mjpeg, no rtsp yet. +* More examples at [[Using_gstreamer#Display|Using GStreamer]] + +===Record=== * <b><font size='3' color='red'>[[Using_camogm_with_Elphel393_camera|More info]]</font></b> * <b><font size='3' color='red'>[[Using_camogm_with_Elphel393_camera|More info]]</font></b> * If the ''prefix'' parameter, which is ''absolute path + prefix'', for a channel is not set the file will be written somewhere to rootfs (likely '''/usr/local/verilog/''') * If the ''prefix'' parameter, which is ''absolute path + prefix'', for a channel is not set the file will be written somewhere to rootfs (likely '''/usr/local/verilog/''') OlegUsing gstreamer
Live encoding:
← Older revision Revision as of 00:35, 10 June 2016 (17 intermediate revisions not shown)Line 8: Line 8: = Installing GStreamer = = Installing GStreamer = -[http://blog.nicolargo.com/ NicoLargo] made [http://blog.nicolargo.com/2010/05/installation-de-tout-les-composants-gstreamer-sous-ubuntu.html a script] to automatically install all the required packages for GStreamer on Ubuntu 10.04. Should work up to for (K)Ubuntu 16.04 as well.+[http://blog.nicolargo.com/ NicoLargo] made [http://blog.nicolargo.com/2010/05/installation-de-tout-les-composants-gstreamer-sous-ubuntu.html a script] to automatically install all the required packages for GStreamer on Ubuntu 10.04. Should work for up to (K)Ubuntu 16.04 as well. = Tips = = Tips = Line 21: Line 21: <b>Note: replace width and height accordingly to your camera setup and your computer's horsepower :P)</b> <b>Note: replace width and height accordingly to your camera setup and your computer's horsepower :P)</b> -== GStreamer 1.0==+== GStreamer 1.0 (10393 & 10353)== ===Display=== ===Display=== -====1. Multipart JPEG (mjpeg), 1 channel====+====Multipart JPEG (mjpeg), 1 channel==== <font size='2'> <font size='2'> gst-launch-1.0 souphttpsrc is-live=true location=http://192.168.0.8:2323/mimg ! jpegdec ! xvimagesink gst-launch-1.0 souphttpsrc is-live=true location=http://192.168.0.8:2323/mimg ! jpegdec ! xvimagesink </font> </font> -====2. Multipart JPEGs (mjpeg), 4 channels in 1 window====+Notes: +* 10393 ports are 2323-2326 +* 10353 port is 8081 + +====Multipart JPEGs (mjpeg), 4 channels in 1 window==== * Each source is resized to 640x480 * Each source is resized to 640x480 * Text overlay and borders added * Text overlay and borders added Line 69: Line 73: </font> </font> -== GStreamer 0.10==+====Live RTSP stream==== +Notes: +* careful with streams at higher resolution than 1920x1088 +* 10353 - works +* <b>10393 - doesn't have a streamer yet</b> +=====native resolution===== +<font size='2'> + gst-launch-1.0 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! xvimagesink sync=false +</font> +=====resized, 640x480===== +<font size='2'> + gst-launch-1.0 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! videoscale ! video/x-raw,width=640,height=480 ! xvimagesink sync=false +</font> + +== GStreamer 0.10 (10353)== === Display === === Display === -careful with streams at higher resolution than 1920x1088+Notes: +* Careful with streams at higher resolution than 1920x1088 -Display the cameras live video stream at its native resolution:+====Live RTSP stream==== +=====native resolution===== +<font size='2'> gst-launch-0.10 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! queue ! ffmpegcolorspace ! xvimagesink sync=false gst-launch-0.10 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! queue ! ffmpegcolorspace ! xvimagesink sync=false +</font> -Display the cameras live video stream, resize to fit window (the ! videoscale element takes care of that) +=====resized, fit in window===== +<font size='2'> gst-launch-0.10 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! queue ! ffmpegcolorspace ! videoscale ! xvimagesink sync=false gst-launch-0.10 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! queue ! ffmpegcolorspace ! videoscale ! xvimagesink sync=false +</font> === Dumping === === Dumping === ==== mjpeg dumping ==== ==== mjpeg dumping ==== - +<font size='2'> -gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! videorate ! capsfilter caps = "image/jpeg, framerate=(fraction)25/1, width=1024, height=768" ! queue ! matroskamux ! filesink location=/tmp/test.mkv+ gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! \ + videorate ! capsfilter caps = "image/jpeg, framerate=(fraction)25/1, width=1024, height=768" ! \ + queue ! matroskamux ! filesink location=/tmp/test.mkv +</font> ==== YUV Dumping ==== ==== YUV Dumping ==== - +<font size='2'> -gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate=(fraction)25/1" ! queue ! avimux ! filesink location=/tmp/test.avi+ gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! \ + videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate (fraction)25/1" ! \ + queue ! avimux ! filesink location=/tmp/test.avi +</font> === Dump transcoding example === === Dump transcoding example === - +<font size='2'> -gst-launch filesrc location=test.mkv ! matroskademux ! queue ! jpegdec ! queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=test.ogg+ gst-launch filesrc location=test.mkv ! matroskademux ! queue ! jpegdec ! queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=test.ogg - +</font> === Live encoding === === Live encoding === - +<font size='2'> -gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate=(fraction)25/1" ! queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=/tmp/test1024.ogg+ gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! \ - + videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate=(fraction)25/1" ! \ -I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads).+ queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=/tmp/test1024.ogg +</font> +Notes: +* I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads). [[Category:393]] [[Category:393]] [[Category:353]] [[Category:353]] OlegUsing gstreamer
    
			
			
			
			
		
		← Older revision
		Revision as of 00:31, 10 June 2016
		(14 intermediate revisions not shown)Line 8:
Line 8:
  
 = Installing GStreamer = = Installing GStreamer =
-[http://blog.nicolargo.com/ NicoLargo] made [http://blog.nicolargo.com/2010/05/installation-de-tout-les-composants-gstreamer-sous-ubuntu.html a script] to automatically install all the required packages for GStreamer on Ubuntu 10.04. Should work up to for (K)Ubuntu 16.04 as well.+[http://blog.nicolargo.com/ NicoLargo] made [http://blog.nicolargo.com/2010/05/installation-de-tout-les-composants-gstreamer-sous-ubuntu.html a script] to automatically install all the required packages for GStreamer on Ubuntu 10.04. Should work for up to (K)Ubuntu 16.04 as well.
  
 = Tips = = Tips =
Line 21:
Line 21:
 <b>Note: replace width and height accordingly to your camera setup and your computer's horsepower :P)</b> <b>Note: replace width and height accordingly to your camera setup and your computer's horsepower :P)</b>
  
-== GStreamer 1.0==+== GStreamer 1.0 (10393 & 10353)==
  
 ===Display=== ===Display===
Line 28:
Line 28:
   gst-launch-1.0 souphttpsrc is-live=true location=http://192.168.0.8:2323/mimg ! jpegdec ! xvimagesink   gst-launch-1.0 souphttpsrc is-live=true location=http://192.168.0.8:2323/mimg ! jpegdec ! xvimagesink
 </font> </font>
 +Notes:
 +* 10393 ports are 2323-2326
 +* 10353 port is 8081
 +
 ====2. Multipart JPEGs (mjpeg), 4 channels in 1 window==== ====2. Multipart JPEGs (mjpeg), 4 channels in 1 window====
 * Each source is resized to 640x480 * Each source is resized to 640x480
Line 69:
Line 73:
 </font> </font>
  
-== GStreamer 0.10==+====3. RTSP stream from the camera's streamer====
 +Notes:
 +* careful with streams at higher resolution than 1920x1088
 +* 10353 - works
 +* <b>10393 - doesn't have a streamer yet</b>
 +=====a. native resolution=====
 +<font size='2'>
 + gst-launch-1.0 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! xvimagesink sync=false
 +</font>
  
 +=====b. with resize=====
 +<font size='2'>
 + gst-launch-1.0 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! videoscale ! video/x-raw,width=640,height=480 ! xvimagesink sync=false
 +</font>
 +
 +== GStreamer 0.10 (10353)==
 === Display === === Display ===
-careful with streams at higher resolution than 1920x1088+Notes:
 +* Careful with streams at higher resolution than 1920x1088
  
-Display the cameras live video stream at its native resolution:+====Live RTSP stream at native resolution====
 +<font size='2'>
   gst-launch-0.10 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! queue ! ffmpegcolorspace ! xvimagesink sync=false   gst-launch-0.10 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! queue ! ffmpegcolorspace ! xvimagesink sync=false
 +</font>
  
-Display the cameras live video stream, resize to fit window (the ! videoscale element takes care of that) +====Live RTSP stream resized to fit window==== 
 +<font size='2'>
   gst-launch-0.10 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! queue ! ffmpegcolorspace ! videoscale ! xvimagesink sync=false   gst-launch-0.10 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! queue ! ffmpegcolorspace ! videoscale ! xvimagesink sync=false
 +</font>
  
 === Dumping === === Dumping ===
 ==== mjpeg dumping ==== ==== mjpeg dumping ====
- +<font size='2'>
-gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! videorate ! capsfilter caps = "image/jpeg, framerate=(fraction)25/1, width=1024, height=768" ! queue ! matroskamux ! filesink location=/tmp/test.mkv+ gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! \
 +     videorate ! capsfilter caps = "image/jpeg, framerate=(fraction)25/1, width=1024, height=768" ! \
 +     queue ! matroskamux ! filesink location=/tmp/test.mkv
 +</font>
  
 ==== YUV Dumping ==== ==== YUV Dumping ====
- +<font size='2'>
-gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate=(fraction)25/1" ! queue ! avimux ! filesink location=/tmp/test.avi+ gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! \
 +     videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate (fraction)25/1" ! \
 +     queue ! avimux ! filesink location=/tmp/test.avi
 +</font>
  
 === Dump transcoding example === === Dump transcoding example ===
- +<font size='2'>
-gst-launch filesrc location=test.mkv ! matroskademux ! queue ! jpegdec ! queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=test.ogg+ gst-launch filesrc location=test.mkv ! matroskademux ! queue ! jpegdec ! queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=test.ogg
- +</font>
 === Live encoding === === Live encoding ===
- +<font size='2'>
-gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate=(fraction)25/1" ! queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=/tmp/test1024.ogg+ gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! \
- +     videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate=(fraction)25/1" ! \
 +     queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=/tmp/test1024.ogg
 +</font>
 I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads). I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads).
  
 [[Category:393]] [[Category:393]]
 [[Category:353]] [[Category:353]]
		Oleg  
Tmp manual
    
			
			
			
			
		
		← Older revision
		Revision as of 23:58, 9 June 2016
		Line 117:
Line 117:
  
  
-[[Category:Elphel393]]+[[Category:393]]
		Oleg  
Using gstreamer
    
			
			
			
			
		
		← Older revision
		Revision as of 23:58, 9 June 2016
		(7 intermediate revisions not shown)Line 20:
Line 20:
  
 <b>Note: replace width and height accordingly to your camera setup and your computer's horsepower :P)</b> <b>Note: replace width and height accordingly to your camera setup and your computer's horsepower :P)</b>
 +
 +== GStreamer 1.0==
 +
 +===Display===
 +====1. Multipart JPEG (mjpeg), 1 channel====
 +<font size='2'>
 + gst-launch-1.0 souphttpsrc is-live=true location=http://192.168.0.8:2323/mimg ! jpegdec ! xvimagesink
 +</font>
 +====2. Multipart JPEGs (mjpeg), 4 channels in 1 window====
 +* Each source is resized to 640x480
 +* Text overlay and borders added
 +''display4in1.sh'':
 +<font size='2'>
 + #!/bin/sh
 + LOC1="http://192.168.0.8:2323/mimg"
 + LOC2="http://192.168.0.8:2324/mimg"
 + LOC3="http://192.168.0.8:2325/mimg"
 + LOC4="http://192.168.0.8:2326/mimg"
 + 
 + LABEL1="CHN1"
 + LABEL2="CHN2"
 + LABEL3="CHN3"
 + LABEL4="CHN4"
 + 
 + #souphttpsrc
 + SOUP="souphttpsrc is-live=true"
 + #image parameters
 + PI="image/jpeg,width=1,height=1,framerate=1000/1,pixel-aspect-ratio=1/1"
 + #video parameters
 + PV="videoscale ! video/x-raw,width=640,height=480"
 + #videobox parameters
 + PVB="videobox fill=Black top=-4 bottom=-2 left=-4 right=-2 border-alpha=0.5"
 + #textoverlay parameters
 + PTO="textoverlay font-desc=\"Sans 24\" shaded-background=true valignment=top halignment=left"
 + 
 + gst-launch-1.0 -ve videomixer name=mix \
 +     sink_0::alpha=1 sink_0::xpos=0   sink_0::ypos=0 \
 +     sink_1::alpha=1 sink_1::xpos=646 sink_1::ypos=0 \
 +     sink_2::alpha=1 sink_2::xpos=0   sink_2::ypos=486 \
 +     sink_3::alpha=1 sink_3::xpos=646 sink_3::ypos=486 \
 +     ! \
 +     xvimagesink sync=false \
 +     $SOUP location=$LOC1 ! $PI ! jpegdec ! $PV ! $PVB ! $PTO text=$LABEL1 ! mix. \
 +     $SOUP location=$LOC2 ! $PI ! jpegdec ! $PV ! $PVB ! $PTO text=$LABEL2 ! mix. \
 +     $SOUP location=$LOC3 ! $PI ! jpegdec ! $PV ! $PVB ! $PTO text=$LABEL3 ! mix. \
 +     $SOUP location=$LOC4 ! $PI ! jpegdec ! $PV ! $PVB ! $PTO text=$LABEL4 ! mix.
 + 
 +</font>
  
 == GStreamer 0.10== == GStreamer 0.10==
  
-=== Displaying ===+=== Display ===
 careful with streams at higher resolution than 1920x1088 careful with streams at higher resolution than 1920x1088
  
Line 50:
Line 98:
  
 I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads). I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads).
 +
 +[[Category:393]]
 +[[Category:353]]
		Oleg  
Using gstreamer
Command line examples:
← Older revision Revision as of 22:57, 9 June 2016 Line 20: Line 20: <b>Note: replace width and height accordingly to your camera setup and your computer's horsepower :P)</b> <b>Note: replace width and height accordingly to your camera setup and your computer's horsepower :P)</b> + +== GStreamer 1.0== + +===Display=== + +====Multipart JPEGs, 4 channels in 1 window==== +* Each source is resized to 640x480 +* Text overlay and borders added +<font size='2'> + gst-launch-1.0 -ve videomixer name=mix \ + sink_0::alpha=1 sink_0::xpos=0 sink_0::ypos=0 \ + sink_1::alpha=1 sink_1::xpos=646 sink_1::ypos=0 \ + sink_2::alpha=1 sink_2::xpos=0 sink_2::ypos=486 \ + sink_3::alpha=1 sink_3::xpos=646 sink_3::ypos=486 \ + ! \ + xvimagesink sync=false \ + souphttpsrc is-live=true location=http://192.168.0.8:2323/noexif/mimg ! image/jpeg,width=1,height=1,framerate=1000/1,pixel-aspect-ratio=1/1 ! \ + jpegdec ! videoscale ! video/x-raw,width=640,height=480 ! videobox fill=Black top=-4 bottom=-2 left=-4 right=-2 ! \ + textoverlay text=cam1 halignment=left valignment=top text-width=20 text-height=20 shaded-background=true ! mix. \ + souphttpsrc is-live=true location=http://192.168.0.8:2324/noexif/mimg ! image/jpeg,width=1,height=1,framerate=1000/1,pixel-aspect-ratio=1/1 ! \ + jpegdec ! videoscale ! video/x-raw,width=640,height=480 ! videobox fill=Black top=-4 bottom=-2 left=-2 right=-4 ! \ + textoverlay text=cam2 halignment=left valignment=top text-width=20 text-height=20 shaded-background=true ! mix. \ + souphttpsrc is-live=true location=http://192.168.0.8:2325/noexif/mimg ! image/jpeg,width=1,height=1,framerate=1000/1,pixel-aspect-ratio=1/1 ! \ + jpegdec ! videoscale ! video/x-raw,width=640,height=480 ! videobox fill=Black top=-2 bottom=-4 left=-4 right=-2 ! \ + textoverlay text=cam3 halignment=left valignment=top text-width=20 text-height=20 shaded-background=true ! mix. \ + souphttpsrc is-live=true location=http://192.168.0.8:2326/noexif/mimg ! image/jpeg,width=1,height=1,framerate=1000/1,pixel-aspect-ratio=1/1 ! \ + jpegdec ! videoscale ! video/x-raw,width=640,height=480 ! videobox fill=Black top=-2 bottom=-4 left=-2 right=-4 ! \ + textoverlay text=cam4 halignment=left valignment=top text-width=20 text-height=20 shaded-background=true ! mix. +</font> == GStreamer 0.10== == GStreamer 0.10== -=== Displaying ===+=== Display === careful with streams at higher resolution than 1920x1088 careful with streams at higher resolution than 1920x1088 OlegElphel camera parts 0393-18
0353-18-31 - tripod mount plate:
← Older revision Revision as of 22:53, 9 June 2016 Line 8: Line 8: {{Cad4a|0393-18-31}} {{Cad4a|0393-18-31}} ---- ---- +=== 0353-18-31A - tripod mount plate, Rev "A" === +{{Cad4a|0393-18-31A}} +---- + === 0393-18-50 - IMU enclosure === === 0393-18-50 - IMU enclosure === {{Cad4a|0393-18-50}} {{Cad4a|0393-18-50}} Mikhail06/09/16 [mechanical-parts][master] by Mikhail Karpenko: Production
    Mikhail Karpenko committed changes to the Elphel git project :
Production
Production
06/09/16 [mechanical-parts][master] by Mikhail Karpenko: Update 0393-18-31 to RevA
    Mikhail Karpenko committed changes to the Elphel git project :
Update 0393-18-31 to RevA
Update 0393-18-31 to RevA
Using gstreamer
    
			
			
			
			
		
		← Older revision
		Revision as of 22:51, 9 June 2016
		(4 intermediate revisions not shown)Line 1:
Line 1:
-Gstreamer is a modular node based player as well as encoder in a single application. It is possible to create chains of so called elements with a wide range of different plugins.+GStreamer is a modular node based player as well as encoder in a single application. It is possible to create chains of so called elements with a wide range of different plugins.
  
-= Gstreamer =+= GStreamer =
  
 GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing. GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.
Line 8:
Line 8:
  
 = Installing GStreamer = = Installing GStreamer =
-[http://blog.nicolargo.com/ NicoLargo] made a script to automatically install all the required packages for GStreamer on Ubuntu 10.04. Very simple and useful, just download and execute the script: http://svn.nicolargo.com/ubuntupostinstall/trunk/gstreamerinstall.sh+[http://blog.nicolargo.com/ NicoLargo] made [http://blog.nicolargo.com/2010/05/installation-de-tout-les-composants-gstreamer-sous-ubuntu.html a script] to automatically install all the required packages for GStreamer on Ubuntu 10.04. Should work up to for (K)Ubuntu 16.04 as well.
  
 = Tips = = Tips =
 == How to get 25 FPS ? == == How to get 25 FPS ? ==
-You won't get 25 fps if autoexposure is on and local brightness not high enough: the camera will automatically lower framerate for keeping clear picture. Either lighten up, or play with image settings (notably, gain).+Depends on the sensor and the exposure:
 +* In the sensor's datasheet find resolutions that allow the required FPS.
 +* You won't get 25 fps if autoexposure is on and local brightness not high enough: the camera will automatically lower framerate for keeping clear picture. Either lighten up, or play with image settings (notably, gain).
  
-= Commandline examples = 
  
-(Note: replace width and height accordingly to your camera setup and your computer's horsepower :p).+= Command line examples =
  
-== Displaying ==+<b>Note: replace width and height accordingly to your camera setup and your computer's horsepower :P)</b>
 + 
 +== GStreamer 0.10==
 + 
 +=== Displaying ===
 careful with streams at higher resolution than 1920x1088 careful with streams at higher resolution than 1920x1088
  
Line 27:
Line 32:
   gst-launch-0.10 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! queue ! ffmpegcolorspace ! videoscale ! xvimagesink sync=false   gst-launch-0.10 rtspsrc location=rtsp://192.168.0.9:554 ! rtpjpegdepay ! jpegdec ! queue ! ffmpegcolorspace ! videoscale ! xvimagesink sync=false
  
-== Dumping ==+=== Dumping ===
-=== mjpeg dumping ===+==== mjpeg dumping ====
  
 gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! videorate ! capsfilter caps = "image/jpeg, framerate=(fraction)25/1, width=1024, height=768" ! queue ! matroskamux ! filesink location=/tmp/test.mkv gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! videorate ! capsfilter caps = "image/jpeg, framerate=(fraction)25/1, width=1024, height=768" ! queue ! matroskamux ! filesink location=/tmp/test.mkv
  
-=== YUV Dumping ===+==== YUV Dumping ====
  
 gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate=(fraction)25/1" ! queue ! avimux ! filesink location=/tmp/test.avi gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate=(fraction)25/1" ! queue ! avimux ! filesink location=/tmp/test.avi
  
-== Dump transcoding example ==+=== Dump transcoding example ===
  
 gst-launch filesrc location=test.mkv ! matroskademux ! queue ! jpegdec ! queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=test.ogg gst-launch filesrc location=test.mkv ! matroskademux ! queue ! jpegdec ! queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=test.ogg
  
-== Live encoding ==+=== Live encoding ===
  
 gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate=(fraction)25/1" ! queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=/tmp/test1024.ogg gst-launch -v rtspsrc location=rtsp://192.168.0.9:554 ! queue ! rtpjpegdepay ! queue ! jpegdec ! queue ! videorate ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)1024, height=(int)768, framerate=(fraction)25/1" ! queue ! theoraenc bitrate=4000 ! queue ! oggmux ! filesink location=/tmp/test1024.ogg
  
 I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads). I did some benchmarks; a Core 2 Quad Q6600 (2.4 Ghz) is not powerful enough for h264 encoding @fullHD resolution (using 4 treads).
		Oleg  
06/09/16 [mechanical-parts][master] by Mikhail Karpenko: Production
    Mikhail Karpenko committed changes to the Elphel git project :
Production
Production
06/09/16 [mechanical-parts][master] by Mikhail Karpenko: Update 0393-11-Update 0393-11-Update 0393-11-Update 0393-11-04A
    Mikhail Karpenko committed changes to the Elphel git project :
Update 0393-11-Update 0393-11-Update 0393-11-Update 0393-11-04A
Update 0393-11-Update 0393-11-Update 0393-11-Update 0393-11-04A
Elphel camera parts 0393-11
0393-11-04A - Cooling fan enclosure, RevA:
← Older revision Revision as of 22:03, 9 June 2016 (One intermediate revision not shown)Line 20: Line 20: {{Cad4a|0393-11-04}} {{Cad4a|0393-11-04}} ---- ---- +=== 0393-11-04A - Cooling fan enclosure, Rev "A" === +{{Cad4a|0393-11-04A}} +---- + === 0393-11-10 - CPU heat plate === === 0393-11-10 - CPU heat plate === {{Cad4a|0393-11-10}} {{Cad4a|0393-11-10}} Mikhail06/09/16 [mechanical-parts][master] by Mikhail Karpenko: Merge branch 'master' of https://github.com/Elphel/mechanical-parts
    Mikhail Karpenko committed changes to the Elphel git project :
Merge branch 'master' of https://github.com/Elphel/mechanical-parts
Merge branch 'master' of https://github.com/Elphel/mechanical-parts