問題タブ [mediarecorder-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
472 参照

javascript - MediaRecorder は挑発せずにサイズを変更します

MediaRecorder API をCanvasの captureStream メソッドと共に使用して、ブラウザでキャンバスの VP8 ビデオ ストリームをエンコードしています。このデータは、バイナリ Web ソケット経由で FFmpeg に送信されます。

何らかの理由で、ストリームがストリームの途中でランダムに低解像度に切り替わっているようです。FFmpeg はこれに満足していません:

入力ストリーム #0:0 フレームが size:1280x720 fmt:yuv420p から size:1024x576 fmt:yuv420p に変更されました

[vp8 @ 0x2a02c00] アップスケーリングは実装されていません。FFmpeg のバージョンを Git から最新のものに更新します。それでも問題が発生する場合は、ファイルに実装されていない機能があることを意味します。[vp8 @ 0x2a02c00] 支援が必要な場合は、このファイルのサンプルをftp://upload.ffmpeg.org/incoming/にアップロードし、ffmpeg-devel メーリング リストに連絡してください。(ffmpeg-devel@ffmpeg.org)

過剰な CPU 使用率と関係があり、Firefox がビデオを縮小することで役立つようにしようとしていると思われます。私の質問:

  • Firefox はその場でビデオを縮小しますか?
  • もしそうなら、どのような条件がこれを引き起こしますか? (CPU 負荷? ストリーム バックプレッシャー?)
  • Firefox がこれを行うのを防ぐことは可能ですか?
  • 私が見逃しているこの動作について別の説明はありますか?
0 投票する
2 に答える
5552 参照

javascript - Chrome の screencastify のように Firefox のタブを動画として記録する

Screencastify拡張機能がChromeで行うように、ブラウザ拡張機能を介してFirefoxブラウザタブを記録したいと思います。chrome extension の Recording Session についてchrome.tabCapture API を使用して、現在アクティブなタブのストリームを取得し、ストリームを記録するために Web-RTC Experiment のRecordRTC.jsを使用しています。同様に、Mozilla Firefox には、Firefox ブラウザーでタブのストリームを取得するための API はありますか。

PS : 画面やウィンドウを記録しない、またはカムを介して、Firefox のタブを記録することについて質問しています。

0 投票する
2 に答える
3521 参照

firefox - MediaRecorder でコーデックを指定する

MediaRecorder APIで使用されるコーデックを指定するにはどうすればよいですか? 私が見る唯一のオプションは、実際には十分ではないmimeType用です。mimeType オプションにコーデックを詰め込んでもうまくいかないようです。

これにより、Vorbis と VP8 を使用した WebM ストリームが生成されます。

オーディオ トラックのみ (ビデオなし) を持つ MediaStream を作成すると、MediaRecorder は Ogg コンテナーに Opus オーディオを出力します。

MediaRecorder API を使用して、WebM コンテナーで VP8 ビデオを使用して Opus オーディオを取得するにはどうすればよいですか?

Firefox v44.0.2

0 投票する
1 に答える
713 参照

android - Ogg と amr のどちらのフォーマットを Android に使用するか

アプリケーション用に Api を使用してボイス レコーダーを開発する必要があります。MediaRecorder設定中にさまざまな形式がありますがmediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_WB);、品質とサイズを向上させるためにどの形式を使用するかについて少し混乱していますか? oggファイルサイズが他よりも小さい、またはその逆の方法で考える必要があります。それに応じて、どの形式を使用する必要があるかをアドバイスしてください。記録されたファイルはサーバーに送信されることに注意してください

0 投票する
0 に答える
156 参照

audio - Web Audio API を使用して保存された (リアルタイムではない) オーディオの波形を視覚化する

MediaRecorder API を使用して、マイクからメディア ストリームを録音しています。そして、キャンバスに録音されたオーディオの視覚化を描画したいと思います。Web Audio API の AnalyserNode は、ストリームからのリアルタイム オーディオを視覚化します。

Web Audio API の AnalyserNode を使用して、静的/保存された (リアルタイムではなく) オーディオの波形を視覚化する方法はありますか?

0 投票する
2 に答える
1460 参照

javascript - mimeType で初期化されていない MediaRecorder から mimeType を取得する

MediaRecorder API を使用して、ページ上のメディアを記録しています。MediaRecorder の初期化では、特に何も必要としないため、コンテンツ タイプを指定していません。ブラウザは必要なものを選択できます。

ただし、その記録を保存するときは、blob の mimeType を知る必要があるため、適切なファイル名拡張子を決定できます。

MediaRecorder.mimeTypeプロパティは私が望むものですが、空の文字列です。mimeTypeMediaRecorderのデフォルトに設定されていないため、デフォルトが何であるかを知る方法がないようmimeTypeです。

0 投票する
0 に答える
1700 参照

javascript - Media Recorder API で生成された webm が正しくエンコードされていませんか?

Media Recorder API でビデオを録画し、VLC でダウンロードして開くと、ビデオの長さがわかりません。

さらに、Chrome モバイル (52.0.2743.98) でビデオ タグを読み取ると、長さが表示されず、currentTime は常に 0 になり、ontimeupdate はビデオが終了したときにのみ起動します。

Chrome デスクトップ (52.0.2743.116) では、長さは表示されませんが、ontimeupdate と currentTime は正常に機能しているようです。

開発者の google demoからビデオを録画してダウンロードしました。ビデオは、クロムでサポートされている唯一のタイプのように見えるため、webm です。

何か案が ?

ffpmeg からのメタデータ:

libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, matroska,webm, from 'test.webm': Metadata: encoder : Chrome Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0(eng): Audio: opus, 48000 Hz, mono, fltp (default) Stream #0:1(eng): Video: vp9 (Profile 0), yuv420p(tv), 480x640, SAR 1:1 DAR 3:4, 30 fps, 30 tbr, 1k tbn, 1k tbc (default) File 'metadata.txt' already exists. Overwrite ? [y/N] y Output #0, ffmetadata, to 'metadata.txt': Metadata: encoder : Lavf56.40.101 Stream mapping: size= 0kB time=--577014:-32:-22.-77 bitrate=N/A video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown