Guestbook

  1. konahn 2017.03.06 00:15 신고

    뭔가를 찾다가 오게 되었는데 찾아온 이유도 잊어버릴만큼 유용한 프로그램도 만드시고 알고리즘 관련글도 유용하고 그렇습니다.
    최근에 수술도 받으신 것 같은데 몸은 괜찮으신지요. 뭐든지 건강이 근본 바탕이네요. 감사합니다.

  2. 제로베이스 2017.02.06 20:45 신고

    좋은 프로그램 만들어 주셔서 감사드립니다.

  3. shaptung 2017.01.26 20:16 신고

    아 여기 방명록이었군요 ㅎㅎ
    제가 좀더 방법을 고민해보겠습니다.
    답변 감사해요

    좋은 명절 맞이하시길...

  4. shaptung 2017.01.25 23:16 신고

    안녕하세요? 질문좀 드려도 될까요?
    MJPEG로 제작된 동영상 파일을 OPENCV나 DSHOW로 재생은 잘 됩니다만,
    전체 모든 FRAME을 BMP가 아닌 JPEG로 추출 하려고 합니다.

    그런데 DSHOW, OPENCV모두 FRAME GRAB을 해보면 잘은 몰라도 RGB24 포맷으로만 GRAB이 되네요 (결국 BMP)
    영상 원본이 MJPEG라서 BMP->JPG로 다시 변환을 해버리면 LOSS가 커서
    각 JPEG으로된 FRAME별 RAW데이터를 그대로 메모리상에서 고속 처리할 필요가 생겼는데 이걸 처리할 방법을 모르겠습니다.

    DSHOW, OPENCV모두 MJPEG 영상파일을 파서가 처리해준걸 BMP와 거의 유사항 형태로 보내주기때문인지 헤매고있네요

    MJPEG영상파일 해상도는 UHD(3840*2160)라서 꽤 큽니다.
    BMP기준으로 볼때 각 FRAME이 약 24M 바이트 정도 됩니다

    DC에 각 FRAME데이터를 DISPLAY할 필요까진 없구요
    그래서 MJPEG파일 파서를 또 공부해서 만들어야하나 고민입니다. (아직 영상쪽 초보라서요)

    혹시 MJPEG파일 파서를 알고 계시다면 도움 부탁 드리고자합니다.

    [요약]
    1. MJPEG영상 파일 PARSING
    2. 전체 FRAME 개수 파악
    3. 1번째 FRAME의 JPEG RAW데이터를 추출해서 이를 PROCESSING...
    4. 2번째....
    5. END FRAME까지 반복

    좋은 저녁 되세요

    • 1. mjpeg 컨테이너의 종류에 따라 구분이 되지만, avi라면 그냥 00dc 뒤에 따라 나오는 SOI(0xffd8)만 찾아서 추출하면 되고, mov라면 SOI(0xffd8)-EOI(0xffd9)만 찾아서 추출하면 됩니다.

      2. 전체 프레임 개수는 avi는 헤더에서 정보를 얻을 수 있고, mov도 비슷할 겁니다. 직접 해보지는 않았습니다만, 자료는 조금만 찾아도 나올 겁니다.

      3. raw 라고 말씀하신 게 mjpeg 에 포함되어있는 jpeg 자체를 얘기하는 거죠?

      더 자세한 질문은 메일로 주시기 바랍니다.
      방명록에 쓸 글은 아닌 것 같군요.
      bluenlive (at) 쥐멜

  5. 2017.01.20 10:42

    비밀댓글입니다

    • VC++ 6.0에서 적용 가능한 고속 JPEG 압축 라이브러리는 IJG 6b w/ x86 SIMD가 유일한 걸로 알고 있습니다.
      아마도 그 쪽은 안 쓰시고 pure 6b만 쓰신 것 같네요.

      예전에 쓴 글이 있는데 지금 보니 별 내용이 없네요 http://zockr.tistory.com/894
      해당 라이브러리는 아직 다운받을 수 있는 것 같습니다만, 일본어 홈페이지입니다 http://cetus.sakura.ne.jp/softlab/jpeg-x86simd/jpegsimd.html

+ Recent posts