Rust - ffmpeg video and audio processing demonstration - 25/10/2023 15:46 EDT

  • Status: Closed
  • Prize: $1000
  • Entries Received: 4
  • Winner: tinojw

Contest Brief

The objective of the contest is to develop and demonstrate a working Rust app that leverages ffmpeg for video and audio file processing.
The solution should use the two source video files linked below:
1. Noisy basketball court with person talking (25 seconds): https://drive.google.com/file/d/1vbSRGZ3P5mAj-VxOEKSUPoZUmHPQrHuh/view?usp=sharing
2. Rustling leaves on tree (9 seconds): https://drive.google.com/file/d/1dtcfhMUB1zrjeRIVheAMKO3n_6zd7NmO/view?usp=sharing

The solution should demonstrate:

A/ A version of video 2/ that:
1/ - Is twice as long because the frame rate has been reduced by 50%
2/ - is overlaid by an accelerated and noise-reduced version of the person speaking on video 1/. The
acceleration converts the 25 seconds spoken voice to 18 seconds matching the extended length of
video 2. The voice is speaking about 40% faster.
3/ - is still having the rustling leaves below the voice.

B/ Generation of a separate audio file with just the noise-reduced and accelerated voice

Important criterias that will be applied when selecting the winning entry:

1. Quality of the rust source code, including how the multi-layered enhancements (separation of voice from video 1, noise-reduction of voice, acceleration of voice, and finally combining with the extended version of video 2/) is handled through ffmpeg for solution A/.
2. The clarity of the voice for B/.

All application logic not contained in ffmpeg must be in Rust
The calls to ffmpeg for various video and audio transformations should utilize standard rust-ffmpeg integration approaches.

We expect the rust code will become part of a video editing mobile app currently being developed. The app is using flutter for the UI and rust for media processing (extended with opencv and ffmpeg). The presentation should ideally include an explanation for how the contest scenarios would be integrated into a mobile flutter/rust app (this topic does not have to be demonstrated).

The solution should be presented in a 10 - 20 min english language google meet session. The session should include:
1. Review and walkthrough of the source code
2. Demonstration of the solution. For the demonstration two new files will be provided. The new files will have different voice and different video content, but will be from the same scenes, have similar length and have identical encoding.
Explanation of how the solution objectives were achieved, including the rust-ffmpeg integration approach.

The winning contestant is very likely to be offered a chance to join a small elite app development team consisting of other contest winners in related areas.

Recommended Skills

Employer Feedback

“Tino did a excellent job for this contest. He not only delivered what the contest called for, but implemented an improved noise-reduction feature not foreseen in the contest, but that worked brilliantly. We look forward to work with Tino for a long time.”

Profile image svennejuul, United States.

Top entries from this contest

View More Entries

Public Clarification Board

  • zainsadiq88
    zainsadiq88
    • 6 months ago

    I have a complete functional Demo ready for your review and testing, please check DM

    • 6 months ago
  • zainsadiq88
    zainsadiq88
    • 6 months ago

    Please check #5

    • 6 months ago

How to get started with contests

  • Post your contest

    Post Your Contest Quick and easy

  • Get tons of entries

    Get Tons of Entries From around the world

  • Award the best entry

    Award the best entry Download the files - Easy!

Post a Contest Now or Join us Today!