Delphi Video Player Component Development

Job ID: 39179291

Budget: $250 – $750 USD

The project is to write a Delphi Component that works as a videoplayer. It should be built around FFmpeg, and be able to play all video formats that FFmpeg can handle. All of the following requirements must be met:

- It should, with the exception of the FFmpeg library dll's, be written fully in Delphi and come with all source code.

- It must compile in all Delphi versions from XE6 and upwords, in both 32 and 64 bit (Windows). It should be possible to specify the directory where the FFmpeg dll's should be loaded from (to make sure different versions can use different versions of the dll's).

- It should play audio using the default audio device and it should paint the video on a TPanel or similiar canvas.

- Video should be scaled to the size of the target canvas, with the option to select between stretched or borders if the canvas does not have the same proportions as the source video.

- It should be possible to adjust the audio level.

- The component should generate an event for every frame played or whenever the position in the video is changed, providing the current frame time.

- The component should expose properties of the loaded video file, including size and frame rate (frames per second).

- It should have at least the following methods for controlling playback: play, stop, goto time, goto start and goto end.

- It should be possible to set playback speed from -4x to +10x in steps of one (i.e -4, -3, -2 and so on). When playing at speed between -3 and +3 audio should also play with that speed. At speed above +3 or below -3 audio can be muted (ideally as an option).

- When using "goto time" it should be frame accurate - it should go to the exact time specified. This command should also work while playback (so it jumps to that time and continue with the speed and direction it had before).

- It should use caching to make sure start, stop and speed adjustments are instant giving a good user experience when jogging back and forward in the clip.

- It should come with a simple demo application that shows how to use the component. It should compile in a standard Delphi Installation in any version starting with XE6.

Please provide information about your experience with similar work, and estimated delivery time. This will be evaluated together with the offered price.

Please also make your bid and delivery time according to what you actually want and need.
Related categories: Delphi Programming