raspberry pi 2 camera setting

skyjjogari의 이미지

현재 라즈베리파이2 model B+ 제품에 Picamera ( OV5647 CCD sensor ) 장착하여 녹화 기능 구현중입니다.

python으로 코딩하여 컴파일 했구요.

fps를 변경하여 녹화를 하고 싶은데..

python 소스내에서 camera.framerate = 15 를 이용하여 fps를 15로 변경하고 5분동안 녹화를 하면,

5분간 녹화는 됩니다. 다만, PC로 동영상파일을 가져와서 실행했을 경우 ( 다음팟플레이어 )

실제 실행은 5분이 아닌 3분간 실행이 되며,

3분 동안 5분녹화분량을 실행하다보니 빠르게 실행이 됩니다..

이 문제를 해결하고자 하는데 어떻게 해야하는지 모르겠습니다

전문가 분들의 고견을 듣고자 합니다.

많은 가르침 부탁드립니다.

감사합니다.

익명 사용자의 이미지

파이썬에서 어떤 라이브러리를 사용하고 있고, 코덱은 어떤 걸로 설정하셨나요?

skyjjogari의 이미지

라즈베리파이 2 를 사용하고있고 라즈비안OS를 설치하였습니다.

해당 OS에 /usr/lib/python2.7/dist-packages/picamera 에 있는 것을 사용하였고,

코덱은 정확히는 모르겠는데 Divx를 사용 중인것으로 알고 있습니다.

python 코딩내에서 framerate를 변경하였을 때 질문의 내용과 같았고..

라이브러리에 있는 디폴트 값이 30으로 되어있어서 그걸 바꿔서 해보아도..

동일한 결과가 나타났습니다ㅠㅠ

twinwings의 이미지

혹시나 해서 하드웨어 스펙 찾아보니

The superior pixel performance of the OV5647 enables 720p and 1080p HD video at 30 fps with complete user control over formatting and output data transf (http://www.ovt.com/uploads/parts/OV5647.pdf)

하드웨어 문제는 아닌가 보네요.

PS. 인터페이스의 datarate 문제일 수 도 있으니 이것도 찾아보는게 낫지 싶습니다.
PS2. 인터페이스 문제도 아니라면 코딩 문제가 맞을 것 같네요. 다른 부분도 찾아보시는게..

skyjjogari의 이미지

아무리 찾아봐도 잘 모르겠네여....ㅠㅠㅠ아는분이 나타나주시길...

bushi의 이미지

picamera FAQ 에 같은 질문에 대한 대답이 있고,
rpi QnA 에 picamera 를 이용해서 완전한 mp4 를 만드는 예제가 있네요.

skyjjogari의 이미지

혹시 URL을 알 수 있을까요? Mp4 변환하는 건 해봤어요 근데 변환하는 시간이 제법걸려서 사용안했구요

H264 포멧으로 저장하려고 하는 중입니다.

bushi의 이미지

https://picamera.readthedocs.io/en/release-1.12/faq.html#why-is-playback-too-fast-too-slow-in-vlc-omxplayer-etc

h.264 NAL 스트림을 그냥 mp4 container 에 담기만 하는데 왜 시간이 걸린다고 하시는지 모르겠네요.
ffmpeg(혹은 avconv) 은 stdin 으로 스트림을 받을 수 있고, transcode 없이 stream copy 하는 것을 지원합니다.

24fps 에 맞춰 녹화된 h264 파일을 ffmpeg 에 파이프로 던져주면서 15 fps 라고 알려주고, mp4 container 에 담기만 했습니다.
플레이해보면 정상속도보다 느리게 재생됩니다. 슬로우모션 처럼.

[schoi0@sel-schoi0-d2 schoi0]$ file ~/carplay_6p_ios9_raw.h264
/home/schoi0/carplay_6p_ios9_raw.h264: JVT NAL sequence, H.264 video @ L 32
[schoi0@sel-schoi0-d2 schoi0]$ 
[schoi0@sel-schoi0-d2 schoi0]$ time cat ~/carplay_6p_ios9_raw.h264 | ffmpeg -r 15 -i - -c:v copy -an -f mp4 /tmp/x.mp4
...
...
Input #0, h264, from 'pipe:':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuvj420p(pc), 960x540, 25 fps, 25 tbr, 1200k tbn, 50 tbc
Output #0, mp4, to '/tmp/x.mp4':
  Metadata:
    encoder         : Lavf55.19.104
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuvj420p, 960x540, q=2-31, 25 fps, 15360 tbn, 15 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
frame=  504 fps=0.0 q=-1.0 Lsize=    3175kB time=00:00:33.60 bitrate= 774.1kbits/s    
video:3172kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.088820%
 
real	0m0.031s
user	0m0.021s
sys	0m0.012s
[schoi0@sel-schoi0-d2 schoi0]$ 
[schoi0@sel-schoi0-d2 schoi0]$ ffprobe /tmp/x.mp4 
...
...
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/x.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf55.19.104
  Duration: 00:00:33.57, start: 0.000000, bitrate: 774 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 960x540, 773 kb/s, 15.01 fps, 15 tbr, 15360 tbn, 30720 tbc (default)
    Metadata:
      handler_name    : VideoHandler

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.