荻原 剛志 / tsuyoshi.ogihara

自己紹介

長野出身、おぎ こと荻原です。 趣味はツーリングやVR空間で人と話す事が好きです。 Voicyでは、Androidアプリのエンジニアを担当しています。 パーソナリティーさんやユーザーの方が快適に情報を発信したり、聴く事が出来る様に品質の高いアプリ開発を心掛け、日々頑張っています。 前職は人材系企業に新卒で入社し、モバイルエンジニアとして大規模なユーザーを抱えるサービスの開発などを担当させて頂いた経験があります。

Voicyの好きなところ

目先の事だけでなく、本質を考えている人が沢山いると感じる所

好きなVoicyパーソナリティ

社員インタビュー

ピックアップコンテンツ

AndroidでFFmpegを利用し無音部分を切り取る
こんにちは!VoicyでAndroidエンジニアをしているおぎです。 現在は主にVoicyのリスナー向けアプリの開発を担当しています。 今回は生放送などのアーカイブ投稿時に冒頭の無音部分などを自動で編集できたら便利ではと思い、Android端末でFFmpegを利用し無音部分を切り取る方法について記事にしました。 モバイル開発でのFFmpeg利用にはMobileFFmpegライブラリが有名かと思いますが、こちらは2022年11月にリポジトリがアーカイブとなりました。今後はメンテナンスが継続されている FFmpegKitライブラリを利用するのが良さそうです。 FFmpegKitはAndroidやiOSに加え、FlutterやReact Nativeのサポートも統合されています。 ライセンスはLGPL-3.0で公開されています。 FFmpegKitの導入はMobileFFmpegの際と同様にアプリケーションのbuild.gradleにライブラリ依存関係を追加するだけで導入出来ます。 dependencies { implementation 'androidx.core:core-ktx:1.7.0' ~~省略~~ + implementation 'com.arthenica:ffmpeg-kit-full:5.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' } まず、事前準備として冒頭部分に無音がある音源を用意しました。 冒頭に約2秒の無音部分があります。 sample_voice_silent.mp3 次に今回利用する音声ファイルの情報を確認してみます。 今回は便宜上サンプルの音源(sample_voice_silent.mp3)をAndroid StudioのDevice File Explorerを使って事前に/data/user/0/アプリケーションID/files配下へ直接配置しました。 FFmpegKit.execute("コマンド")という形式でFFmpegのコマンドを実行出来ます。 また、情報を確認するだけならFFprobeKitにgetMediaInformationメソッドがあるのでこちらがオススメです。 ログには以下の情報が出力されました。sample_voice_silent.mp3は、 長さ:08.07秒 フォーマット:mp3 チャンネル:ステレオ の音源であることが分かります。 D/VOICE INFO BEFORE: ffmpeg version n5.1.2 Copyright (c) 2000-2022 the FFmpeg

テキストアウトプット