Wave.video

1.ボタンを作成し、ページに追加する

ボタンを設定し、ページ上の必要な場所にボタンコードを配置します。
YOUR_API_KEYを実際のAPIキーに置き換えることを確認してください。

ボタンを設定する

お客様のAPIキー
16:9 水平
大きい
デフォルト
  1. <script>
  2. (function (d,w,e,c,a) {)
  3.     var cf = w[c] || {}; cf.apiKey = a;
  4.     var sc=d.createElement(e),s=d.getElementsByTagName(e)[0];
  5.     sc.async=!0;
  6.     sc.src=cf.embed || 'https://wave.video/editor/embed.js'。
  7.     s.parentNode.insertBefore(sc, s);
  8. })(document, window, 'script', 'waveconfig', '');
  9. </script>
  10. <span class="wave-video-button large default"
  11. data-video-format="youtube_horizontal">動画を作る</span>。
あなたのボタンプレビュー動画を作る

2.動作の仕組み

ボタンをクリックすると、ページ上のiframe内でWave.videoエディタが起動します。ユーザーはWave.videoにログインするか、アカウントを持っていない場合はサインアップする必要がありますが、そのすべてがiframeの中で行われます。ユーザーはビデオを作成した後、あなたのウェブサイトにビデオを公開します。

エディターから動画を取得するには、いくつかの方法があります。最も簡単なのは、動画が配置されるビデオタグIDを指定する方法です。また、動画のURLとサムネイルを受け取るコールバック関数を提供する方法もあります。

3.ボタンをカスタマイズする

あなた自身のスタイルを使用してボタンをカスタマイズすることができ、あなたは私たちの提供するスタイルを使用することができます。ページ上に複数のボタンを置くことができますが、それらはすべてクラスwave-video-button を持つ必要があります。

各ボタンは、データ属性でさらにカスタマイズすることができます。

データビデオアイディー

以前に作成したビデオを編集する方法を提供するビデオのID。

IDはユーザーごとにユニークです。つまり、2人の異なるユーザーが同じIDでエディターを開くと、2つの異なる動画が作成または編集されます。

データビデオフォーマット

ビデオフォーマットです。
対応する全フォーマットの一覧は、https://api.wave.video/project/formatsでご覧いただけます。

例:youtube_horizontal

データ検索テキスト

検索クエリは、ストックライブラリまたはテンプレートのいずれかです。

エディターがテンプレートページから始まる場合、このクエリはテンプレート検索パラメータです。テンプレートページに移動して、検索を設定し、URLからすべてのパラメータをコピーしてください。

例えば、urlが以下の場合。

https://wave.video/video-templates?category=%2FUse-Cases%2FVirtual-Backgrounds&name=beach

であれば、data-search-textは以下のように設定する必要があります。

category=%2F使用例%2F仮想背景&name=beach

エディターがストックライブラリーから起動する場合、このテキストは銘柄の検索に使用されます。

データパブリッシュラベル

発行ボタンのテキストラベルで、デフォルトの「発行」を上書きします。

データパブリッシュビデオアイディー

ビデオを受信するビデオタグのID。

ページにvideoタグがある場合、このタグのIDを指定すると、エディターは最終的な動画のURLをこのvideoタグのsrc属性に設定します。

データナビゲーションターゲット

select-formats- select formats 画面でエディタを開く。
uploads- アップロード画面でエディタを開く
edit- 編集画面でエディタを開く
templates- テンプレートページからエディタを起動します(デフォルト)。data-search-textは、テンプレートページで検索パラメータを指定するために使用します。

データパブリッシュコールバック

コールバックのグローバル関数です。

この関数は、ユーザが動画を保存する際に呼び出される。この関数は、以下のパラメータを指定して呼び出される。

  1. callback_function(ボタン、結果、エラー)

どこの国か。

button- ボタン要素
result- 動画のURLとサムネイルを含むjson。
error- エラーメッセージ(もしあれば).

以下は、結果のJSONの例です。

  1. {
  2. "name":"プロジェクトの名前"。
  3. "videoUrl": "mp4へのurl"。
  4. "duration": 継続時間-秒。
  5. "width": 映像の幅。
  6. "height": 映像の高さ。
  7. "size":映像のサイズ-in-byte。
  8. "fps":フレーム・パー・セカンド。
  9. "format": "video-format-selected-by-user",
  10. "サムネイル "です。[
  11.     { "time":0, "url": "時刻 0 のサムネイルへの url" },
  12.     { "time": 2.2, "url": "時刻2.2におけるサムネイルへのurl" },
  13. ]
  14. }

なお、エディターから返された動画は、3日で期限切れとなります。それ以上使用する場合は、このURLからダウンロードする必要があります。

次の例では、コールバック関数onWavePublishを持つボタンがあります。 この関数が呼び出されると、動画ファイルのURLとサムネイルのURLがコンソールに出力されます。

  1. <span id="my-button"
  2.     class="wave-video-button"
  3.     data-video-id="mypost1"。
  4.     data-publish-callback="onWavePublish">動画を作成する</span>。
  5. <script>
  6. function onWavePublish(button, result, error) {。
  7. if (error) {
  8.     alert("Error: "+error);
  9. } else {
  10.     if (result.videoUrl){。
  11.         console.log("got video: ", result);
  12.         let src = result.videoUrl;
  13.         let name = result.name;
  14.         let duration = result.duration;
  15.         let size = result.size;
  16.         width = result.widthとする。
  17.         let height = result.height;
  18.         let fps = result.fps;
  19.         let format = result.format;
  20.         はk=0とする。
  21.         for (;k<result.thumbnails.length; k++) {。
  22.             let url = result.thumbnails[k].url;
  23.             let time = result.thumbnails[k].time;
  24.             console.log("thumbnail at "+time+" is "+url");
  25.         }
  26.     } else {
  27.               // パブリッシュされずに波が閉じた、無視
  28.           }
  29.       }
  30.   }
  31.   (function (d,w,e,c,a) {)
  32.       let cf = w[c] = w[c] || {}; cf.apiKey = a;
  33.       var sc=d.createElement(e),s=d.getElementsByTagName(e)[0];sc.async=!0;
  34.       sc.src=cf.embed || 'https://wave.video/editor/embed.js';s.parentNode.insertBefore(sc, s);
  35.   })(document, window, 'script', 'waveconfig', 'YOUR API KEY')。
  36. </script>