Em Andamento

Extract audio via QuickTime

The purpose of this project is to create a C++ library for OS X that will extract the audio from a media file using QuickTime. Apple provides sample code for the functionality, so the work required is to adapt that code to our interface specifications.

## Deliverables

Notes:

1. The media file is usually a video file but could be any video/audio file that QuickTime can handle.

2. Audio does not just get extracted in its native format. It also needs to get reliably converted to a prescribed format (e.g., mono, 48kHz sample rate, aiff).

3. QTKit is preferred, but the code can be written in Carbon or Cocoa or whatever makes the most sense. But it has to be callable from C++.

4. Apple has provided several code samples with similar functionality. One example is linked to below. Some of their examples are pretty old, so while the right sample can provide an excellent starting point, the wrong one could be somewhat out of date. The delivered code must not rely on any deprecated interfaces (like NSMovie).

5. Needs to be thread-compatible to the extent that it can support having a callback to report progress. The links below have more information and sample code.

6. Can assume that QuickTime 7 is installed.

7. The library interface will specified in detail. It will be modeled on the open/read interfaces provided by libsndfile (see link below) for audio files:

* sf_open

* sf_close

* sf_seek

* sf_read_short

* sf_read_double

* sf_command > SFC_SET_NORM_DOUBLE

8. Error handling is via std::runtime_error exceptions

9. Use of the Boost libraries, where appropriate, is strongly encouraged.

10. Inputs to the library include:

* path to the media file,

* format specification,

* buffer to store the results,

* the number of audio samples to be read.

REFERENCE LINKS

Useful Wikipedia overview of QuickTime: [url removed, login to view]

QuickTime threading: [url removed, login to view]

QuickTime audio extraction sample code: [url removed, login to view]

Another example with progress callback: [url removed, login to view]

libsndfile API: [url removed, login to view]

TEST PROGRAM

A test program illustrating the use of the library is a requirement. It will have the following general architecture:

Cocoa -> C++ dylib -> audio extraction dylib

- input: path to media file

- process: reads all audio samples but doesn't do anything with them

- output

- UI

- shows a progress meter (managed by Cocoa app)

- cancel button

Habilidades: Programação C, Chrome OS, Engenharia, Linux, Mac OS, MySQL, PHP, Gestão de projetos, Arquitetura de software, Teste de Software, UNIX, Área de trabalho do Windows

Ver mais: quicktime audio extraction example, ui specification, thread programming, threading programming, requirement specification examples, programming via php, programming libraries, php programming notes, php developer overview, php developer mac, notes php programming, mono programming, mac programming, html programming notes, std library, programming wiki, cocoa apple, apple library app, apple developer support number, apple cocoa, progress programming, cocoa programming mac, video audio, tn, std

Acerca do Empregador:
( 8 comentários ) Canada

ID do Projeto: #2959267

Premiar a:

cyclonesoftru

See private message.

$850 USD em 21 dias
(123 Avaliações)
8.2

3 freelancers estão ofertando em média $850 para este trabalho

eztechsystems

See private message.

$850 USD in 21 dias
(14 Comentários)
6.1
newenterpri

See private message.

$850 USD in 21 dias
(4 Comentários)
0.0