embeded/raspberry pi2016. 6. 28. 09:26

예전에 학교 실습실 관리할때 beowulf 해보고 싶었는데..

라즈베리 슈퍼 컴퓨터가 beowulf 였네..(알고보니 이것도 찾아두고는 잊은건 아니겠지 -_-)

한번 여러 대 사서 해볼까?



Ubuntu beowulf cluster

[링크 : https://www-users.cs.york.ac.uk/~mjf/pi_cluster/src/Building_a_simple_Beowulf_cluster.html]


Raspberrypi B+ 32 node beowulf cluster

[링크 : http://coen.boisestate.edu/ece/raspberry-pi/]

[링크 : http://coen.boisestate.edu/ece/files/2013/05/Creating.a.Raspberry.Pi-Based.Beowulf.Cluster_v2.pdf]


Examples of MPI software include OpenMPI or MPICH. There are additional MPI implementations available.

[링크 : http://askubuntu.com/questions/624994/what-can-a-beowulf-cluster-help-process]

[링크 : https://en.wikipedia.org/wiki/Beowulf_cluster]

[링크 : https://en.wikipedia.org/wiki/Open_MPI]

'embeded > raspberry pi' 카테고리의 다른 글

초음파/온습도 센서 데이터 시트 복사  (0) 2016.07.10
rpi gstreamer mux  (0) 2016.06.28
redmine on raspberrypi  (9) 2016.06.23
gsteamer rtspsink  (0) 2016.06.21
라즈베리 파이 카메라(rpi cam) 렌즈 교체..  (2) 2016.06.18
Posted by 구차니
embeded/raspberry pi2016. 6. 23. 10:40

2016.06.23으로 업데이트 하고 나서 한 결과.. 이거 하나면 끝.. ㄷㄷㄷ

단, 기본은 sqlite 인듯?

mysql 이나 mariadb 쓰려면 별도로 설치를 해주어야 한다.


$ sudo apt-get install redmine

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following extra packages will be installed:

  bundler dbconfig-common fonts-droid ghostscript imagemagick-common libev4 libfcgi-ruby1.9.1

  libfcgi0ldbl libgmp-dev libgmpxx4ldbl libgs9 libgs9-common libijs-0.35 libjbig2dec0

  libjs-coffeescript libjs-jquery-ui libjs-prototype libjs-scriptaculous libjsoncpp0 liblqr-1-0

  libmagickcore-6.q16-2 rake redmine-sqlite ruby-actionmailer ruby-actionpack

  ruby-actionpack-action-caching ruby-actionview ruby-activemodel ruby-activerecord

  ruby-activesupport ruby-arel ruby-atomic ruby-awesome-nested-set ruby-blankslate ruby-builder

  ruby-celluloid ruby-coderay ruby-coffee-rails ruby-coffee-script ruby-coffee-script-source

  ruby-dev ruby-erubis ruby-execjs ruby-fcgi ruby-ffi ruby-hike ruby-hmac ruby-i18n

  ruby-jbuilder ruby-jquery-rails ruby-json ruby-listen ruby-mail ruby-mime-types ruby-minitest

  ruby-multi-json ruby-net-http-persistent ruby-net-ldap ruby-oj ruby-openid ruby-passenger

  ruby-polyglot ruby-protected-attributes ruby-rack ruby-rack-openid ruby-rack-test ruby-rails

  ruby-rails-observers ruby-railties ruby-rb-inotify ruby-redcarpet ruby-request-store

  ruby-rmagick ruby-sass ruby-sass-rails ruby-sdoc ruby-spring ruby-sprockets

  ruby-sprockets-rails ruby-sqlite3 ruby-thor ruby-thread-safe ruby-tilt ruby-timers

  ruby-treetop ruby-turbolinks ruby-tzinfo ruby-uglifier ruby-yajl ruby2.1-dev sqlite3 zip

Suggested packages:

  virtual-mysql-client mysql-client postgresql-client ghostscript-x libgmp10-doc libmpfr-dev

  coffeescript libjs-jquery-ui-docs libmagickcore-6.q16-2-extra bzr cvs darcs mercurial

  subversion ruby-builder-doc rails ruby-passenger-doc ruby-compass treetop doc-base sqlite3-doc

The following NEW packages will be installed:

  bundler dbconfig-common fonts-droid ghostscript imagemagick-common libev4 libfcgi-ruby1.9.1

  libfcgi0ldbl libgmp-dev libgmpxx4ldbl libgs9 libgs9-common libijs-0.35 libjbig2dec0

  libjs-coffeescript libjs-jquery-ui libjs-prototype libjs-scriptaculous libjsoncpp0 liblqr-1-0

  libmagickcore-6.q16-2 rake redmine redmine-sqlite ruby-actionmailer ruby-actionpack

  ruby-actionpack-action-caching ruby-actionview ruby-activemodel ruby-activerecord

  ruby-activesupport ruby-arel ruby-atomic ruby-awesome-nested-set ruby-blankslate ruby-builder

  ruby-celluloid ruby-coderay ruby-coffee-rails ruby-coffee-script ruby-coffee-script-source

  ruby-dev ruby-erubis ruby-execjs ruby-fcgi ruby-ffi ruby-hike ruby-hmac ruby-i18n

  ruby-jbuilder ruby-jquery-rails ruby-json ruby-listen ruby-mail ruby-mime-types ruby-minitest

  ruby-multi-json ruby-net-http-persistent ruby-net-ldap ruby-oj ruby-openid ruby-passenger

  ruby-polyglot ruby-protected-attributes ruby-rack ruby-rack-openid ruby-rack-test ruby-rails

  ruby-rails-observers ruby-railties ruby-rb-inotify ruby-redcarpet ruby-request-store

  ruby-rmagick ruby-sass ruby-sass-rails ruby-sdoc ruby-spring ruby-sprockets

  ruby-sprockets-rails ruby-sqlite3 ruby-thor ruby-thread-safe ruby-tilt ruby-timers

  ruby-treetop ruby-turbolinks ruby-tzinfo ruby-uglifier ruby-yajl ruby2.1-dev sqlite3 zip

0 upgraded, 93 newly installed, 0 to remove and 0 not upgraded.

Need to get 850 kB/21.7 MB of archives.

After this operation, 83.3 MB of additional disk space will be used.

Do you want to continue? [Y/n] 


db 종류 교체 등을 위해서는 설치중에 나오는 메시지를 따라 입력하면 된다.

$ sudo dpkg-reconfigure -plow redmine

  ┌────────────────────────────────────────────┤  ├────────────────────────────────────────────┐
  │                                                                                            │
  │ redmine-mysql package required                                                             │
  │                                                                                            │
  │ Redmine instance default is configured to use database type mysql, but the corresponding   │
  │ redmine-mysql package is not installed.                                                    │
  │                                                                                            │
  │ Configuration of instance default is aborted.                                              │
  │                                                                                            │
  │ To finish that configuration, please install the redmine-mysql package, and reconfigure    │
  │ redmine using:                                                                             │
  │                                                                                            │
  │ dpkg-reconfigure -plow redmine                                                             │
  │                                                                                            │
  │                                                                                        │
  │                                                                                            │
  └────────────────────────────────────────────────────────────────────────────────────────────┘


요약본?

$ sudo apt-get install apache2 mysql-server redmine redmine-mysql libapache2-mod-passenger

$ sudo ln -s /usr/share/redmine/public /var/www/redmine

$ sudo chown -R www-data:www-data /var/www/redmine

$ sudo vi /etc/apache2/sites-available/redmine.conf

DocumentRoot /var/www/

PassengerDefaultUser www-data


<Location /redmine>

RailsEnv production

RackBaseURI /redmine

Options -MultiViews

</Location>


$ sudo a2dissite 000-default

$ sudo a2ensite redmine

$ sudo /etc/init.d/apache2 reload

$ sudo /etc/init.d/apache2 restart 

[링크 : http://www.tylerforsythe.com/.../install-redmine-onto-raspberry-pi-2-this-is-the-tutorial-you-want/]


redmine은

admin/admin이 기본 아이디/패스워드임



+

2016.07.07

subURI와 virtualHost를 둘다 동시에 쓸수는 없는건가? ㅠㅠ

[링크 : http://stackoverflow.com/.../...rails-app-on-subdomain-root-with-apache-and-passenger]

'embeded > raspberry pi' 카테고리의 다른 글

rpi gstreamer mux  (0) 2016.06.28
beowulf / openMPI  (0) 2016.06.28
gsteamer rtspsink  (0) 2016.06.21
라즈베리 파이 카메라(rpi cam) 렌즈 교체..  (2) 2016.06.18
raspivid - H264 SPS PPS?  (0) 2016.06.10
Posted by 구차니
embeded/raspberry pi2016. 6. 21. 21:17

'embeded > raspberry pi' 카테고리의 다른 글

beowulf / openMPI  (0) 2016.06.28
redmine on raspberrypi  (9) 2016.06.23
라즈베리 파이 카메라(rpi cam) 렌즈 교체..  (2) 2016.06.18
raspivid - H264 SPS PPS?  (0) 2016.06.10
raspistill 빠르게 사진 찍기  (0) 2016.06.09
Posted by 구차니
embeded/raspberry pi2016. 6. 18. 15:19

회사에 굴러 다니는 것들이 있어서 바꿔보니..

은근 화각 차이가 크다는걸 느낌..

확실히 숫자가 적을 수록 광각이네


rpicam 기본 렌즈 (한.. 5~6mm 되려나?)

Camera specifications

  • CCD size : 1/4inch
  • Aperture (F) : 2.0
  • Focal Length : 6MM (adjustable)
  • Diagonal : 75.7 degree
  • Sensor best resolution : 1080p

[링크 : http://eleparts.co.kr/EPXD4BBD]


4.5mm lens 1/2.7


4.0mm lens 1/2.7


정체불명의 렌즈.. (3mm 쯤 하려나?)



표준은 S마운트 M12 0.5mm pitch 짜리

[링크 : https://en.wikipedia.org/wiki/S-mount_(CCTV_lens)]

[링크 : https://en.wikipedia.org/wiki/C_mount]



+

막상 사려니 비싸네.. 회사꺼 뽀릴까?

센서 크기가 1/4 인치래서.. 2mm 짜리 박아도(1.5만 ㅠㅠ) 화각이 122도..

3.6mm 정도는 되어야 60도 화각이 나오는구나..


[링크 : http://itempage3.auction.co.kr/DetailView.aspx?ItemNo=A700563953]

'embeded > raspberry pi' 카테고리의 다른 글

redmine on raspberrypi  (9) 2016.06.23
gsteamer rtspsink  (0) 2016.06.21
raspivid - H264 SPS PPS?  (0) 2016.06.10
raspistill 빠르게 사진 찍기  (0) 2016.06.09
라즈베리 파이 gstreamer / vlc ... 실패?  (0) 2016.05.27
Posted by 구차니
embeded/raspberry pi2016. 6. 10. 07:56

테스트 해보니 -g 1 만 i-frame으로 도배해서 좀더 빠르게 나오고

-ih는 팟플레이어 에서 영향을 주지 못한다.


무슨 옵션을 주던.. vlc에서는 안되네..

도대체 무슨 에러일까...


팟 플레이어에서 비트레이트가 0으로 뜨는거랑 연관이 있는걸까?


core error: ES_OUT_RESET_PCR called



[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] Frame num change from 37 to 0

[h264 @ 05c87c00] decode_slice_header error

[h264 @ 05c87c00] no frame!

MultiFramedRTPSource::doGetNextFrame1(): The total received frame size exceeds t

he client's buffer size (100000).  2367 bytes of trailing data will be dropped! 




---

raspivid 관련 옵션을 보니

gop 설정과 PPS/SPS 헤더를 넣는게 있는데


gop야.. i frame 이라.. 이게 많으면 화질 좋아지고 용량 넘쳐나고, 재생 바로바로 되고 하지만

PPS/SPS의 경우에는 메타데이터라.. 이걸 통해 빠르게 재생 된다는 이야기도 있네...


[링크 : http://egloos.zum.com/yajino/v/782492]



--inline,   -ih     Insert PPS, SPS headers

Forces the stream to include PPS and SPS headers on every I-frame. Needed for certain streaming cases. e.g. Apple HLS. These headers are small, so do not greatly increase file size.

[링크 : https://www.raspberrypi.org/documentation/raspbian/applications/camera.md]

[링크 : https://community.nxp.com/thread/323839]

[링크 : http://...nabble.com/waiting-for-SPS-PPS-when-sending-H-264-via-RTP-td944444.html]


Posted by 구차니
embeded/raspberry pi2016. 6. 9. 19:55

-t, --timeout   : Time (in ms) before takes picture and shuts down (if not specified, set to 5s)


기본값이 5초라서

사진 하나 받아오는데 항상 5초 걸리는 기분..

-t 0 는 안되므로

-t 1 이상은 설정을 해야 한다.



pi@raspberrypi:~/Pictures $ time raspistill -o tt.jpg -t 1


real    0m0.778s

user    0m0.010s

sys     0m0.030s


pi@raspberrypi:~/Pictures $ time raspistill -o tt.jpg -t 1000


real    0m1.948s

user    0m0.020s

sys     0m0.040s



받아오는 해상도 별로 시간 차이는 없음.



+

-tl, --timelapse        : Timelapse mode. Takes a picture every <t>ms. %d == frame number (Try: -o img_%04d.jpg)


그나저나 타임랩스 기능이 있네?


$ raspistill -tl 33 -o img_%04d.jpg

mmal: Skipping frame 2 to restart at frame 14

mmal: Skipping frame 15 to restart at frame 30

mmal: Skipping frame 31 to restart at frame 48

mmal: Skipping frame 49 to restart at frame 68

mmal: Skipping frame 69 to restart at frame 90

mmal: Skipping frame 91 to restart at frame 112

mmal: Skipping frame 113 to restart at frame 134

mmal: Skipping frame 135 to restart at frame 156


1/30초 단위로 찍게 하려고 33msec 했는데 1초에 두번 겨우 하는 정도..
$ file *
img_0001.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:03:56, width=0], baseline, precision 8, 2592x1944, frames 3
img_0014.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:03:57, width=0], baseline, precision 8, 2592x1944, frames 3
img_0030.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:03:57, width=0], baseline, precision 8, 2592x1944, frames 3
img_0048.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:03:58, width=0], baseline, precision 8, 2592x1944, frames 3
img_0068.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:03:58, width=0], baseline, precision 8, 2592x1944, frames 3
img_0090.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:03:59, width=0], baseline, precision 8, 2592x1944, frames 3
img_0112.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:04:00, width=0], baseline, precision 8, 2592x1944, frames 3
img_0134.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:04:00, width=0], baseline, precision 8, 2592x1944, frames 3
img_0156.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:04:01, width=0], baseline, precision 8, 2592x1944, frames 3


해상도별 차이는 없는 기분?

$ raspistill -tl 1 -o img_%04d.jpg -w 640 -h 480

mmal: Skipping frame 2 to restart at frame 342

mmal: Skipping frame 343 to restart at frame 868

mmal: Skipping frame 869 to restart at frame 1442

mmal: Skipping frame 1443 to restart at frame 2124

mmal: Skipping frame 2125 to restart at frame 2847

mmal: Skipping frame 2848 to restart at frame 3569

mmal: Skipping frame 3570 to restart at frame 4292

mmal: Skipping frame 4293 to restart at frame 5014



 $ file *

img_0001.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:07:01, width=0], baseline, precision 8, 640x480, frames 3

img_0342.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:07:02, width=0], baseline, precision 8, 640x480, frames 3

img_0868.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:07:02, width=0], baseline, precision 8, 640x480, frames 3

img_1442.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:07:03, width=0], baseline, precision 8, 640x480, frames 3

img_2124.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:07:03, width=0], baseline, precision 8, 640x480, frames 3

img_2847.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:07:04, width=0], baseline, precision 8, 640x480, frames 3

img_3569.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:07:05, width=0], baseline, precision 8, 640x480, frames 3

img_4292.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:07:05, width=0], baseline, precision 8, 640x480, frames 3

img_5014.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, height=0, manufacturer=RaspberryPi, model=RP_ov5647, xresolution=156, yresolution=164, resolutionunit=2, datetime=2016:06:09 11:07:06, width=0], baseline, precision 8, 640x480, frames 3



Posted by 구차니
embeded/raspberry pi2016. 5. 27. 12:33

vlc로는 안되고.. 팟플레이어로는 잘 된다...

아무튼, 초기 로딩은 느린데 딜레이 자체는 0.5초 정도 미만? 꽤 빠르다.

핵심은.. gst-rtsp 패키지를 받아야 하는거고

그걸 통해서 tcp / rtp 스트리밍 한걸 받아서 rtsp로 보내준다.



$ mkdir src

$ cd src

$ wget http://gstreamer.freedesktop.org/src/gst-rtsp/gst-rtsp-0.10.8.tar.bz2

$ tar -xvf gst-rtsp-0.10.8.tar.bz2

$ sudo apt-get install libglib2.0-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev gstreamer-tools gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly

$ cd gst-rtsp-0.10.8

$  ./configure

$ make -j4

$ cd examples


$ raspivid -t 0 -n -o - | gst-launch -v fdsrc ! h264parse ! gdppay ! tcpserversink host=127.0.0.1 port=5000 | ./test-launch "( tcpclientsrc host=127.0.0.1 port=5000 ! gdpdepay ! avdec_h264 ! rtph264pay name=pay0 pt=96 )" 

[링크 : http://www.aftermath.kr/entry/GStreamer-RTSP-with-RPi]

+ 2016.06.09

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?p=721798]


팟플레이어는 좀 오래걸려서 그렇지 나오는데(딜레이는 적음)


+ 2015.06.10

지금보니.. bitrate가 0으로 뜨네?


VLC는 이렇게 한 프레임만 디코딩 하고 그 이후로는 디코딩을 하지 못한다...


udp로는 하기 힘드네.. 설정을 찾아 봐야...


$ raspivid -t 0 -n -o - | gst-launch -v fdsrc ! h264parse ! gdppay ! udpsink host=127.0.0.1 port=5000 | ./test-launch "( udpsrc port=5000 caps = 'application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96' ! gdpdepay ! avdec_h264 ! rtph264pay name=pay0 pt=96 )"


---

cvlc 를 통한 h.264 rtsp 스트리밍은 딜레이가 상당히 크다.

vlc의 버퍼링을 제외하더라도 1초 정도 이상?


gstreamer를 쓰면 딜레는 낮은데

rpi 2b -> b+ 는 b+의 사양으로 끊어지고

rpi b+ -> 2b는 문제없이 재생이 되었던 걸로 기억을 한다.

2015/09/20 - [embeded/raspberry pi] - 라즈베리 파이 gstreamer 시도


아무튼

cvlc / h.264 / rtsp -> vlc

gstreamer h.264 rtp -> gstreamer

은 시도해봤으나..


gstreamer h.264 rtp -> vlc

cvlc / h.264 / rtsp -> gstreamer 

는 아직 미시도..



cvlc로 rtsp 스트리밍 할때 뜨는 sdp 설정

[73c008c8] stream_out_rtp stream out debug: sdp=

v=0

o=- 15776737622825922871 15776737622825922871 IN IP4 raspberrypi

s=Unnamed

i=N/A

c=IN IP4 0.0.0.0

t=0 0

a=tool:vlc 2.2.1

a=recvonly

a=type:broadcast

a=charset:UTF-8

m=video 0 RTP/AVP 96

b=RR:0

a=rtpmap:96 H264/90000

a=fmtp:96 packetization-mode=1 


vlc 에서 보려면 sdp 파일로 만들어서 하라는데...

얘는 mpeg4video - es 인거 같고...

v=0

m=video 5000 RTP/AVP 96

c=IN IP4 127.0.0.1

a=rtpmap:96 MP4V-ES/90000 

[링크 : http://stackoverflow.com/questions/13154983/gstreamer-rtp-stream-to-vlc]


찾아보고.. cvlc sdp 내용 참조하니.. 별로 고칠건 없을 듯?

c=IN IP4 10.5.110.117

m=video 5004 RTP/AVP 96 

a=rtpmap:96 H264/90000

vlc test.sdp

[링크 : http://stackoverflow.com/questions/20538698/minimum-sdp-for-making-a-h264-rtp-stream]


아래는.. 산딸기 마을에서 본거 같은데

아무튼.. rtsp://ip:8554/test 로 하면 된다고 한다.

$  raspivid -t 0 -h 720 -w 1280 -fps 25 -b 2000000 -vf -hf -n -o - | gst-launch -v fdsrc ! h264parse ! gdppay ! tcpserversink host=127.0.0.1 port=5000 | ./test-launch "( tcpclientsrc host=127.0.0.1 port=5000 ! gdpdepay ! avdec_h264 ! rtph264pay name=pay0 pt=96 )"

[링크 : http://www.aftermath.kr/entry/GStreamer-RTSP-with-RPi]

[링크 : http://www.rasplay.org/?p=5607]


$ raspivid -t 0 -w 1280 -h 720 -fps 30 -hf -b 2000000 -n -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=192.168.10.34 port=5000 ! rtspsrc location=rtsp://127.0.0.1:8554/test

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC

mmal: camera component couldn't be enabled

mmal: main: Failed to create camera component

mmal: Failed to run camera app. Please check for firmware updates


WARNING: erroneous pipeline: could not link tcpserversink0 to rtspsrc0


$ raspivid -t 0 -w 1280 -h 720 -fps 30 -hf -b 2000000 -n -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! rtspsrc location=rtsp://127.0.0.1:8554/test                                mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

WARNING: erroneous pipeline: could not link gdppay0 to rtspsrc0

끄응.. 안되네 ㅠㅠ

[링크 : http://stackoverflow.com/questions/13154983/gstreamer-rtp-stream-to-vlc]


[링크 : https://gstreamer.freedesktop.org/documentation/rtp.html]




2016.06.28


Unfortunately, there are two problems I could not solve so far.


1. The SPS / PPS issue


The omxh264enc plugin sends not regularly the needed SPS / PPS information with it. You can work around the problem by immediately accessing the stream after the start of gst-launch, otherwise VLC (for example) cannot play it.


I have found this wrapper for the camera:

https://github.com/AndyA/psips

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=70&t=59412]

Posted by 구차니
embeded/raspberry pi2016. 5. 27. 11:08

raspivid의 제한(?) 인지 1920*1080이 최대라

-md 설정을 이용한 최대 해상도인 2592*1944(5M)는 스트리밍이 불가능...

그래도 확실히 1920보다는 해상도가 오르니 나은건가?


요건 안되고

$ raspivid -o - -t 0 -n -md 2 -w 2592 -h 1944 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264


얘는 되고..

$ raspivid -o - -t 0 -n -md 2 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264



RASPIVID


-mode, -md

Sets a specified sensor mode, disabling the automatic selection. Possible values are :


Mode Size Aspect Ratio Frame rates FOV Binning

0 automatic selection

1 1920x1080 16:9 1-30fps Partial None

2 2592x1944 4:3 1-15fps Full None


--width,    -w      Set image width <size>

Width of resulting video. This should be between 64 and 1920.


--height,   -h      Set image height <size>

Height of resulting video. This should be between 64 and 1080



[링크 : https://www.raspberrypi.org/documentation/raspbian/applications/camera.md]


캡쳐 해보니.. 화각이랑 해상도가 달라지긴 하네..


2M (1920x1080)


5M(2592x1944)


$ raspivid -t 0 -n -md 2 -v


raspivid Camera App v1.3.12


Width 1920, Height 1080, filename (null)

bitrate 17000000, framerate 30, time delay 0

H264 Profile high

H264 Quantisation level 0, Inline headers No

H264 Intra refresh type (null), period -1

Wait method : Capture forever

Initial state 'record'



Preview No, Full screen Yes

Preview window 0,0,1024,768

Opacity 255

Sharpness 0, Contrast 0, Brightness 50

Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0

Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'

Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128

Rotation 0, hflip No, vflip No

ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000

Camera component done

Encoder component done

Starting component connection stage

Connecting camera stills port to encoder input port

Enabling encoder output port 



$ raspivid -t 0 -n -md 2 -w 2592 -h 1944 -v


raspivid Camera App v1.3.12


Width 2592, Height 1944, filename (null)

bitrate 17000000, framerate 30, time delay 0

H264 Profile high

H264 Quantisation level 0, Inline headers No

H264 Intra refresh type (null), period -1

Wait method : Capture forever

Initial state 'record'



Preview No, Full screen Yes

Preview window 0,0,1024,768

Opacity 255

Sharpness 0, Contrast 0, Brightness 50

Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0

Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'

Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128

Rotation 0, hflip No, vflip No

ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000

Camera component done

Encoder component done

Starting component connection stage

Connecting camera stills port to encoder input port

mmal: mmal_vc_port_enable: failed to enable port vc.ril.video_encode:in:0(OPQV): EINVAL

mmal: mmal_port_enable: failed to enable connected port (vc.ril.video_encode:in:0(OPQV))0xc9d330 (EINVAL)

mmal: mmal_connection_enable: output port couldn't be enabled

mmal: main: Failed to connect camera video port to encoder input

mmal: Argument is invalid

Closing down

Close down completed, all components disconnected, disabled and destroyed


mmal: Failed to run camera app. Please check for firmware updates 


음... 왜 안되지 ... ㅠㅠ

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=59559]


5M로 설정하면 주기적으로 에러가 발생하는데..

[73d00508] core input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 320 ms)

[73d00508] core input error: ES_OUT_RESET_PCR called

[73d00508] core input debug: Buffering 0%

[73d00508] core input debug: Buffering 12%

[73d00508] core input debug: Buffering 24%

[73d00508] core input debug: Buffering 37%

[73d00508] core input debug: Buffering 49%

[73d00508] core input debug: Buffering 62%

[73d00508] core input debug: Buffering 74%

[73d00508] core input debug: Buffering 87%

[73d00508] core input debug: Buffering 99%

[73d00508] core input debug: Stream buffering done (360 ms in 624 ms)

[73d00508] core input debug: Decoder wait done in 0 ms


cpu 점유율은 거의 무의미한 정도의 차이?
2M


5M



+

2016.05.31

음.. 비디오 코어 자체가 fullHD 인코딩이라.. 그 이상의 해상도는 무리인건가?

rpicam v2 에서도 그럼 8M 로 받아와도 2M로 밖에 전송이 불가능할지도?


[링크 : https://en.wikipedia.org/wiki/VideoCore]

Posted by 구차니
embeded/raspberry pi2016. 5. 25. 19:42

오랫만에 가지고 놀아 보려고 했더니..

망했어 ㅠㅠ

FFC 저거 구하기 빡센데 ㅠㅠ


일단.. sudo apt-get update; sudo apt-get upgrade로 시스템 업그레이드의 여파인가...

config.txt에서는 gpu_mem=128 였는데...


불 들어 옴

$ raspivid -t 0

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC

mmal: camera component couldn't be enabled

mmal: main: Failed to create camera component

mmal: Failed to run camera app. Please check for firmware updates



불 안들어 옴

$ raspivid -t 0

mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)

mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1)

mmal: Failed to create camera component

mmal: main: Failed to create camera component

mmal: Camera is not detected. Please check carefully the camera module is installed correctly



선 뽑고..

$ raspivid -t 0

mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)

mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1)

mmal: Failed to create camera component

mmal: main: Failed to create camera component

mmal: Camera is not detected. Please check carefully the camera module is installed correctly




Last login: Wed May 25 19:49:45 2016

pi@raspberrypi:~ $ sudo rpi-update

 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom

 *** Performing self-update

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100 10670  100 10670    0     0  24776      0 --:--:-- --:--:-- --:--:-- 24756

 *** Relaunching after update

 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom

 *** We're running for the first time

 *** Backing up files (this will take a few minutes)

 *** Backing up firmware

 *** Backing up modules 4.1.19-v7+

#############################################################

This update bumps to rpi-4.4.y linux tree

Be aware there could be compatibility issues with some drivers

Discussion here:

https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=144087

##############################################################

 *** Downloading specific firmware revision (this will take a few minutes)

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100   168    0   168    0     0    188      0 --:--:-- --:--:-- --:--:--   188

100 50.5M  100 50.5M    0     0  1059k      0  0:00:48  0:00:48 --:--:-- 1381k

 *** Updating firmware

 *** Updating kernel modules

 *** depmod 4.4.11-v7+

 *** depmod 4.4.11+

 *** Updating VideoCore libraries

 *** Using HardFP libraries

 *** Updating SDK

 *** Running ldconfig

 *** Storing current firmware revision

 *** Deleting downloaded files

 *** Syncing changes to disk

 *** If no errors appeared, your firmware was successfully updated to 2b9c0bfacfc11ee8bb9b30dc9cdb36289698f8a8

 *** A reboot is needed to activate the new firmware


[링크 : http://raspberrypi..../what-causes-enospc-error-when-using-the-raspberry-pi-camera-module]


/boot/cmdline.txt:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait bcm2708.w1_gpio_pin=18

[링크 : https://www.raspberrypi.org/...?f=28&t=61922&p=477860&hilit=enospc#p478550]


그냥... 현재 기준 신펌웨어로 바꾸니 문제 없다.

rpi-update로도 펌웨어 변경은 적용 안되는 듯?


Posted by 구차니
embeded/raspberry pi2016. 5. 23. 11:41

음? mpeg2 decoder?




[링크 : http://www.raspberrypi.com/license-keys/]

    This key will enable a single Raspberry Pi to decode MPEG-2 video in hardware.

    [링크 : http://www.raspberrypi.com/mpeg-2-license-key/]

    This key will enable a single Raspberry Pi to decode VC-1 video in hardware.

    [링크 : http://www.raspberrypi.com/vc-1-license-key/]



H.264 encode


Alongside MPEG-2 support (which you’ll have to pay for), we’re making H.264 encode available for free. The hardware has always been capable of supporting H.264 encode, but we were under the misapprehension that encode required an additional licence fee, so were waiting until the camera board release (which is still coming later in the year) before spending the money to enable it.

MPEG-2 지원과 동시에(지불해야 할 필요가 있는), H.264 인코더는 무료로 사용이 가능하도록 하였습니다. 하드웨어는 항상 h.264 인코드를 지원할 능력을 갖추고 있습니다만, 추가적인 라이센스 요금을 요구한다는 오해가 있었고, 그것을 활성화 하기 위해 돈을 쓰기 전에 (몇 년 후에나 나올) 카메라 보드가 릴리즈 되기 까지 기다렸습니다


During the course of talking to the MPEG LA about the MPEG-2 licence, we discovered that the existing licence fee that is already baked into the cost of the Raspberry Pi actually covers both encode and decode – I tell you, this stuff is arcane – so we’ve enabled the relevant OpenMAX components by default in the latest firmware. It may take a while for someone to produce an encoder application which uses these components, but once they do you should be able to use the Pi as a standalone transcoder.

MPEG LA와의 MPEG-2 라이센스에 대한 회의를 거쳐, 우리는  라즈베리 파이의 비용에 포함되어 있는 이미 존재하는 라이센스 비용은 실제로 인코딩과 디코딩을 모두 포함한다는 내용들을 발견했습니다 -당신에서 말하겠지만, 이것은 매우 불가사의한 사항입니다 - 그래서 우리는 최신 펌웨어에 기본으로 적절한 OpenMAX 콤포넌트를 가능하도록 하였습니다. 이 콤포넌트들을 사용할 엔코더 어플리케이션 누군가가 만드는데 시간이 걸리겠지만, 그들은 당신이 라즈베리 파이를 독립형 트랜스코더로 사용할 수 있수 있도록 할 것입니다. 

[링크 : https://www.raspberrypi.org/blog/new-video-features/]


[링크 : http://elinux.org/RPiconfig#Licensed_Codecs]


[링크 : http://raspberrypi.stackexchange.com/.../why-does-the-raspberry-pi-need-a-mpeg-2-licence]


DVD 재생시 영상을 디코딩 못하므로 MPEG-2 라이센스 필요?

[링크 : http://echo.tistory.com/93]

[링크 : http://echo.tistory.com/92]


vcgencmd codec_enabled MPG2

vcgencmd codec_enabled WVC1

[링크 : http://www.howtogeek.com/.../how-to-add-mpeg-2-and-vc-1-video-codec-...-raspberry-pi/]



mpeg 라이센스 활성화 시 ff-mpeg2video에서 omx-mpeg2로 변화된다고 한다.


[링크 : https://www.youtube.com/watch?v=3zToVK6U7AM]

Posted by 구차니