🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

FFmpeg

FFmpegは、動画と音声を交換できるフリーソフトウェアです。UNIX系OSから派生した、MS-DOSから操作するコマンドラインツールです。libavcodecやlibavformat、libswscale、libavfilterなどを含みます。ライセンスは、コンパイルの際のオプションによりLGPLもしくはGPLに決定されます。対応コーデックや使用できるオプションが多く、幅広く利用されています。

Q&A

解決済

1回答

2325閲覧

ffmpeg wasmで動画をaviからmp4に変換する際に解像度を1280*720に指定したいです。

aguroshou0413

総合スコア20

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

FFmpeg

FFmpegは、動画と音声を交換できるフリーソフトウェアです。UNIX系OSから派生した、MS-DOSから操作するコマンドラインツールです。libavcodecやlibavformat、libswscale、libavfilterなどを含みます。ライセンスは、コンパイルの際のオプションによりLGPLもしくはGPLに決定されます。対応コーデックや使用できるオプションが多く、幅広く利用されています。

0グッド

0クリップ

投稿2021/01/04 10:47

前提・実現したいこと

ブラウザでZoomのバーチャル動画背景を簡単に作るアプリを開発しています。
Unityで.aviの動画を作成し、ffmpeg wasmで.mp4の動画に変換しています。
Zoomに読み込ませるためには、1280*720の解像度にしなければならないのですが、Unityで作成した動画の解像度は、パソコンのディスプレイによって解像度がバラバラの動画になってしまうことがあります。

そこで、ffmpeg wasmで.mp4の動画に変換する際に1280*720の解像度にしたいです。

解像度を変更するためのプログラムを参考にして修正をしようとしましたが、うまくいかず、悩んでいます…。

該当のソースコード

一部分のみ抜き出しています。

JavaScript

1 const transcodetest = async () => { 2 const message = document.getElementById('message'); 3 message.innerHTML = 'Loading ffmpeg-core.js'; 4 await ffmpeg.load(); 5 await ffmpeg.write('VideoWriterExample_output.avi', blob); 6 message.innerHTML = 'Start transcoding'; 7 8 //ここで1280*720に変換できたら良いのですが、どうすればよいのか分からないです…。 9 await ffmpeg.transcode('VideoWriterExample_output.avi', 'output.mp4'); 10 message.innerHTML = 'Transcoding completed'; 11 const data = ffmpeg.read('output.mp4'); 12 ffmpeg.remove('output.mp4'); 13 14 const video = document.getElementById('output-video'); 15 video.src = URL.createObjectURL(new Blob([data.buffer], { 16 type: 'video/mp4' 17 })); 18

試したこと

https://gigazine.net/news/20201109-ffmpeg-wasm/
こちらのURLに解像度を変更するサンプルプログラムがありましたが、こちらではffmpeg.runを使用しており、私が使っているffmpeg.transcodeとは別のようです。ffmpeg.runのプログラムに書き直すことを試そうとしてみましたが、どのように書き直せばよいのか分からず、うまくいきませんでした。

ffmpeg.transcodeで解像度を変更できないか調べてみましたが、その方法はおそらく無いようです。

補足情報(FW/ツールのバージョンなど)

https://aguroshou.github.io/ZoomVirtualBackgroundMovieMaker/
こちらのURLからプログラムの中身を確認することができますが、人に見せれるようなプログラムではないです…。

https://github.com/aguroshou/ZoomVirtualBackgroundMovieMaker
こちらのURLからアプリをダウンロードし、index.htmlを編集することで動作を確認できます。(https://joytas.net/programming/unity/webgl%E3%81%A7%E3%83%93%E3%83%AB%E3%83%89%E3%81%95%E3%82%8C%E3%81%9Funity%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%96%E3%83%A9%E3%82%A6このサイトの設定など手間がかかるため、ご確認して頂く必要はございません。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問