以下は、ベトナムオフショアエンジニアのDao Van Son氏が、ベトナムオフショア会社がどのように機能するかを企業に理解してもらうために、アプリケーションに通話機能を開発するプロジェクトについて語ったものです。

フォロー&いいね!してね!
ベトナムオフショア企業はアプリ内の通話機能をどのように開発しているのでしょうか?

 オフショアサービスは、もはや企業にとって新しい概念ではありません。ベトナムオフショア企業は、多くの企業の製品開発やアップグレード、システムの最適化、社内リソースを企業の開発活動に集中できるように支援してきました。

 以下は、ベトナムオフショアエンジニアのDao Van Son氏が、ベトナムオフショア会社がどのように機能するかを企業に理解してもらうために、アプリケーションに通話機能を開発するプロジェクトについて語ったものです。

 ある晴れた日、私たちは「アプリ内通話機能を開発してほしい」という依頼を受けました。経験豊富な機能なので、すぐに展開できそうです。
チーム内で議論した後、お客様には2つのオプションを提供します。
 1.有料で利用可能なサービスを利用する:Twilio、Skyway…
 2. このようなオープンソースを使用する:webRTC、linphone…

 オプション1では、1-2週間で顧客のために統合することに自信を持っていましたが、機能的には問題ありませんでした。
 オプション2では、オープンソースはサポートの大規模なコミュニティを持っていたので、それを展開することは困難ではありませんでした。
 お客様はオプション1を拒否していましたが、仮想通貨(ポイント)の支払い・加算・減算が通話中に発生するため、第三者が参加することでセキュリティ面での不安を感じていました。そこで、私たちはオプション2を選択し、すぐにシステムの構築を開始しました。

 まず、システム内の信号を送信するためにSIP(Session Initiation Protocol)を選択しました。
 SIP技術を使って、私たちは疑問を持ってシステムを構築し始めました。
 - このシステムは、どのくらいのコールに同時に応答するのか?
 - 必要なコール数が増えたときに、簡単にシステムをアップグレードする方法は?
 - システムを最適化し、維持するためのコストを節約するために、どのようにしてサーバーを自動的にオン/オフするのか?

 何度も議論を重ねた結果、上記のような疑問を満たすことができるアーキテクチャモデルが完成しました。

ベトナムオフショア企業はアプリ内の通話機能をどのように開発しているのでしょうか?

 セキュリティ上の理由から、内部のコンポーネントがどのように動いたのかを詳しく知ることができませんでした。

 上記のようなアーキテクチャで、以下のような機能を開発しました。
 - ビデオコール
 - オーディオコール
 - チャットコール
 - リアルタイムチャット

 上記の機能を開発した後、お客様からはビデオ通話機能の画像処理をもっとしてほしいという要望がありました。お客様の要望は、ビデオ通話の映像をもっと滑らかに、明るく、美しくしてほしいというものでした。これは比較的複雑な要望であり、私たちはこの要望に取り組み続けました。
 私たちは2つの方向性で作業を進めました。
 1. 画像をローカル(ユーザーの端末)で処理して送信する。
 2. 送信元から動画データを受信した際に画像処理を行う。

 LinphoneSDKでは、ビデオ通話でのフレーム分割には対応していませんでした。幸い、Linphoneはオープンソースだったので、LinphoneSDKを再構築することができました。
 Linphoneについて調べていくうちに、Linphoneでの映像の伝送方法がわかってきました。LinphoneはカラーチャンネルをYUVフォーマットで伝送しているので、1番の方向性では、何度もカラーフォーマットを変換しなければならないと、伝送性能が最適化されません。そこで、送信元から受信した画像を処理して表示することにしました。フレームを受信したら、YUVからRGBへの変換を行いました。その後、GPUImageライブラリを使ってフレーム単位のスムージングを行いました。
 ここでの処理は全てC ++言語で行っているので、メモリ管理には注意が必要で、メモリリークの問題に陥らないように「初期化してからリリース」を常に覚えておく必要があります。

 以上、基本的なことをお伝えしました。セキュリティ上の理由から、多くの詳細な情報を公開することができません。
 もし、ご興味がある場合は、以下にご連絡ください: info@nal.vn

 最新のアップデート情報は、Facebookページ:https://www.facebook.com/media.nal をフォローしてください。宜しくお願いします!

0/5 (0 Reviews)
フォロー&いいね!してね!