I got ffmpeg compiled with OpenMAX encoding acceleration support on RPi--yay! Now my problem is, I'm working with a protocol that insists on specifying its required resolution. As soon as i specify -vf scale=[W]:[H] it reverts to CPU encoding. Since ffmpeg/v4l2 (at least) only lets you capture at resolutions supported by the camera hardware, I'm stuck between a rock and a hard place.

Clearly I'm CPU constrained here, and GPU encoding is the only thing that makes what I'm trying to do feasible. Video quality is not a primary concern. Is there a way to preprocess the video frames with a fast (e.g. linear) scaler to the size I need, and then encode with my hardware acceleration? I'm trying to get only about 5fps on a ARMv6 (RPi model B+), but I need up to 1280x720 (possibly up to 1080p, but I'm uncertain).

Edit: To head off possible dispute, yes it needs to be ffmpeg, not avconv.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.