2017-01-12 5 views
2

アップロード広告を管理するアプリを構築したので、マーケティングチームは画像広告や動画広告を希望するかどうかを選択し、タイトル、私のDBに格納されます。アップロード前にMP4がH264でエンコードされているかどうかを確認する

しかし、ビデオでは余分なステップがあり、AWSにアップロードされています。この設定はH264でエンコードされたビデオでのみ機能します。

How to detect supported video formats for the HTML5 video tag?

この回答はサポート

をチェックするために使用するコードを:

私はビデオのためのいくつかのクライアント側の検証を追加したい、私はブラウザはH264をサポートしているかどうかをチェックし、関連する質問を見つけ

var testEl = document.createElement("video"), 
    mpeg4, h264; 

if (testEl.canPlayType) { 
    // Check for h264 support 
    h264 = "" !== (testEl.canPlayType('video/mp4; codecs="avc1.42E01E"') 
     || testEl.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')); 
    ); 

私はコンソールでビデオを検査しました.H264エンコーディングとH264エンコーディングを比較すると、H264に関連する属性内に何も見つかりませんでした。 SRCリストのMP4なく、何もない:

src: data:video/mp4;base648766554654 etc. 

答えて

2

あなたはたとえばmp4box.jsのためには、JavaScript用MP4パーサが必要です。

MP4Boxの場合、最悪の場合、ファイルの末尾にあるmoovボックスが解析されるまで、バッファを追加できます。ドキュメントから

例:

var MP4Box = require('mp4box').MP4Box; 
var mp4box = new MP4Box(); 
mp4box.onError = function(e) {}; 
mp4box.onReady = function(info) {}; 
mp4box.appendBuffer(data); 
mp4box.appendBuffer(data); 
mp4box.appendBuffer(data); 
... 
mp4box.flush(); 

onReady()は、ファイルの情報を返します。それには

mp4box.onReady = function (info) { 
    console.log("Received File Information"); 
} 

あなたはそれぞれに対応するcodectracksを持っています。

codecsフォーマットの詳細については、RFC 6381を参照してください。

関連する問題