FrameSkipper Copilot Opportunity

Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Name : FrameSkipper

 

Develop a software module for reducing the frame rate of live video stream from CCTV IP camera

 

 

*FrameSkipper requirements:

  1. It should reduce the frame rate of both h.264 and mpeg4(part2) live video stream.
  2. The video stream is assumed to have only I-frame and P-frame.(No B-frames)
  3. It should be less CPU intensive the transcoding a video stream(decode, reduce frame, and re encode)
  4. The frame rate of the input video stream can vary while it is being inputed.
  5. It should take “Output frame rate” as an input using dll parameter.
  6. It should output h.264/mpeg4 frame as its output which can be decoded using “ffmpeg decoder”.
  7. To achieve the necessary performance it can skip frames as 1/2, 1/3, 1/4, 1/5, 1/6 ... 1/10 frames from the original frame rate.

 

 

*FrameSkipper.dll Module Input

  1. H.264 frame (1~30 fps)

or

MPEG4-ES frame (5~30 fps)

 

  1. Output fps parameter (1~30fps)

 

 

*FrameSkipper.dll Module Output

  1. H.264 frame (1~30 fps, less than input framerate)
  2. or
  3. Mpeg4-ES frame (1~30 fps, less than input framerate)

 

 

*Deliverables

  1. FrameSkipper.dll (shared dll, 32bit and 64bit)
  2. Source and document
  3. Sample project source
  4. Tested sample media files.

 

 

 

 

 

 

 

 

 

*Development Environment 

  • OS (compatible with both windows7 32bit and 64bit)
  • VisualStudio 2010 C++ (C++11 compatible),
  • STL,
  • boost(1.49 or higher),
  • additional native library can be used

 

 

*Testing Environment

 

  -> demuxer (ffmpeg or live555) -> [FrameSkipper] -> ffmpeg decoder -> render

 

  - live555 (latest version), http://www.live555.com/

  - ffmpeg 0.11.x, http://www.ffmpeg.org/

  (Please create your own test videos using ffmpeg and provide them to us.)

 

 

 

*h.264 supported profiles (http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC)

 

FrameSkipper should support all profiles that “live555” and “ffmpeg” supports

 

  1. Constrained Baseline Profile (CBP)
  2. Baseline Profile (BP)
  3. Main Profile (MP)
  4. Extended Profile (XP)
  5. High Profile (HiP)
  6. Progressive High Profile (PHiP)
  7. Constrained High Profile
  8. High 10 Profile (Hi10P)
  9. High 4:2:2 Profile (Hi422P)
  10. High 4:4:4 Predictive Profile (Hi444PP)
  11. High 10 Intra Profile
  12. High 4:2:2 Intra Profile
  13. High 4:4:4 Intra Profile
  14. CAVLC 4:4:4 Intra Profile
  15. Scalable Baseline Profile
  16. Scalable Constrained Baseline Profile
  17. Scalable High Profile
  18. Scalable Constrained High Profile
  19. Scalable High Intra Profile

 

 

*mpeg4 supported profile (http://en.wikipedia.org/wiki/MPEG-4_Part_2)

  1. MPEG-4 Part 2 Advanced Simple Profile (ASP)

 

Review style

Final Review

Community Review Board

Approval

User Sign-Off

Challenge links

ID: 30032982