「みんなのお仕事相談所」では、ユーザーさまのご依頼の相場や製作期間、
契約書やお金に関する悩みを気軽に相談できるQ&Aコミュニティです。
違反案件についてはよくある質問の「【共通】違反のお仕事とは」をご覧ください。
また、違反報告についてはよくある質問の「【共通】違反報告とは」をご確認ください。
Androidアプリ開発の依頼を検討しており、下記のようなサービスを作りたいと思っているのですが、どれくらいの相場感・費用になるかがわかりません。
下記に要件を書きますので、簡単な見積もりをいただけませんでしょうか。
1.作りたいサービスのイメージ(コンセプトなど)
お世話になります。android開発の依頼を検討しております。
あるiOS用の映像プレーヤーのプロジェクトがあり、
このプレーヤーをandroidへ移植したいと思っています。
【移植対象プロジェクト】
https://github.com/kolyvan/kxmovie
この見積もり(費用・工数)をいただきたいと思っております。
上記プレーヤーは、
ffmpegのライブラリで映像データにアクセスし、映像をデコードし、デコード後のYUVデータをopenGLのテクスチャとして描画をする という部分が骨子になっており、
YUVデータに独自の加工処理を追加することで、独特な表示処理へのカスタマイズが可能と考えています。
やりたいことは、このプレーヤーをandroidに移植した上で、
YUVデータの処理をカスタマイズし、独特な表示処理を行うプレーヤーを作成することなのですが、
YUVデータの加工処理はこちらでも対応可能なので、
見積もりとしては、簡便のため、上記プロジェクトの移植 ということで概算を頂ければと思っております。
2.必要な機能
その他、上記プレーヤーについて記載します。
・映像データの処理はffmpegのライブラリを使用する
・映像を表示するviewはopenGLで描画される
・ffmpegのライブラリを使用し、指定のメディアにアクセス、デコーダを準備し、フレーム毎に映像・音声データをデコードする
・映像はデコード後の生データ(YUV形式)をテクスチャとしてopenGLで描画する
・音声はデコード後の生データを、映像フレームと同期を取りながら、iOSのremoteIOフレームワークを利用して出力
・再生の開始・停止(pause)・シークが可能
3.ボリューム(ページ数など)
上記プロジェクトは、kxMovieExampleとkxMovieの2つに分かれており、kxMovieExampleはkxMovieを呼び出すためだけのサンプルとなっており、
移植が必要なのは、kxMovieの部分のみ(kxMovieExampleを除く)となります。
kxMovieの主なオブジェクトは以下になります。
・音声マネージャ
・映像デコーダ(libAVのライブラリを使用)
・映像ビューコントローラ
・openGLビューコントローラ(openGLを使用)
4.その他備考(納期など)
なお、来年2月上旬までには移植完了させたいと思っております。
何卒よろしくお願いいたします。
面白いプロジェクトなのでソースコードをザックリと読んでみました。
確かにソースを見る限りではOpenGLが主体なので、Androidでも似たソースになりそうで
そこは移植に苦労はそこまで無いのかなと思います。
しかし当たり前ですが、ffmpegの関数のオンパレードで何をしているか一々リファレンスとの往復です。
また当たり前ですが、iOS用に書かれているのでFoundationやCore Graphicsと言った
iOS用のフレームワーク有りきなコードに仕上がっています。
勿論通常のJAVAであれば対応するAPIがAndroid SDKにも用意されていますが、
ところがNDKには用意された物が乏しいので自力でゴリゴリ書かなければいけない処理が多そうです。
2月上旬という期限は NDK と ffmpeg に精通したエンジニアでなければ難しいだろうなと思います。
個人的には移植に拘らずffmpegとOpenGLをJAVAから触れるように書き直した方が早そうと思います。
ソースを読んでいただいた上でのご回答、大変に有難うございました。
音声部分の処理が、iOSフレームワークありきの処理になっているのはその通りで、
この部分をどう移植するか(NDKにてデコード後の音声サンプルをデバイスに出力させる等)、
が大きなポイントになるかと認識しました。
ffmpegとOpenGLをJAVAから触れるように、というご意見は、
javaからffmpegとopenGLを呼び出せるラッパーIFを、それぞれのライブラリを修正して作成する(?)
という風に捉えましたが、正しいでしょうか?(ズレていたらすみません)
御認識の通りですが撤回させて下さい。
OpenGLとは違い、FFMPEGは完璧なJAVAラッパーが見つかりませんでした。
普通にJNIでAndroid APIに渡せるようNDKを書く事が最適なようです。
ちなみにこの分野の処理が出来るエンジニアはゲーム系で人材獲得合戦が激しいので
プログラマ手取りで80万円/月-100万円/月、クライアント支払い単価で150万円/月-200万円/月
でしょうか。。