よくある質問:エンコード
エンコーディングに関する質問
どの設定を使うべきですか?
デフォルトから始めます。私たちはデフォルト設定に多くの考えを込めてきたので、それらの近くで固執すれば、おそらく大丈夫でしょう。
通常、次の設定を調整する必要があります。
ターゲットアプリケーションに適したコーデックを選択します。当社のコーデックはすべてウェブ上で再生されますが、H.264 は最も広い互換性と最高の品質を備えています。それがあなたが探しているものなら、H.264 + AAC(または多分MP3)を使用してください。現時点では、モバイルデバイスの互換性についても最善の策です。ライセンス問題のないものが欲しいなら、 VP8 + Vorbisはかなり良い(新品ですが)、Theora + Vorbisはより確立された選択肢です。
ターゲット解像度、アスペクト比変換のストラテジー、ターゲットよりも小さい動画をアップスケールするかどうかを決定します。(多くの場合、小さなビデオを小さくして、プレーヤー内で拡大縮小するのが賢明です。これにより、キロビットと帯域幅が節約されます)。
その後、ビデオのビットレートを選択します。ビットレートは、動画の見栄えを決める上で最も重要な要素です。同じビットレートを異なるサイズ/形状/コンテンツの動画に適用するのは効率的ではないため、ビットレートではなくターゲット品質を設定することをお勧めします。品質/サイズのトレードオフに基づいて品質設定を選択します。品質 3 は (ほとんどの Web 動画よりも優れています)、品質 4 は素晴らしい、品質 5 はほぼロスレスです。小さなビットレートで適切なビデオが必要な場合は、画質 2 を選択し、帯域幅が低い場合は品質 1 を選択します。音質も考慮する価値がある。質2-3は通常はかなり優れており、音楽やサウンドトラックの忠実度が重要な場合は、品質4を考慮する。
それを超えて、他の設定は本当にオプションです。あなたはおそらくそれらのほとんどを無視することができ、それらのいくつかはあなたのビデオの品質に悪影響を及ぼすかもしれません。たとえば、ビデオを強制的に異なるフレームレートにすると、ビデオが途切れるように見え、オーディオサンプルレートを手動で設定するとエンコードエラーが発生する可能性があります。
詳細については、 APIドキュメントを参照してください。
最高の品質を得るにはどうすればいいですか?
もちろん、「最高」はありません。トレードオフやより良い選択肢と悪い選択肢がありますが、エンコーディング設定の完全なセットはありません。免責事項を終了します。
高品質の出力ビデオを実現するための最初のステップは、高品質の入力ビデオを持つことです。可能であれば、同じサイズ、または大きいサイズのビデオを、必要な出力よりも高画質で送信してください。(もちろん、あなたがUGCを扱っているなら、これは必ずしもあなた次第ではありません)。
第二に、ファイルサイズをスキップしないでください。ビットレートは他の何よりもビデオの品質にとってはるかに重要です。300kbpsで1080pのビデオを求めると、他のオプションを選んでもおそらく悪くなるでしょう。品質が優先される場合は、通常、ビデオの品質を 4 に設定するのが良いでしょう。音質3はかなり良い聞こえますが、4はさらに優れています。
第三に、H.264 を使用している場合は、Main または High プロファイルを使用してみてください。これらはCPU負荷がやや高くなりますが、ビデオ品質ははるかに向上します。しかし、彼らはiPhoneでは動作しません。
第四に、試すことができるいくつかの詳細設定があります。入力が圧縮率が高くブロックされている場合は、Deblokフィルタを使用できます。同じビットレートで 5% ~ 10% 高い品質で絞りたい場合は、ノイズを「弱い」または「中」に設定してみてください。
第五に、エンコーディングを遅くします。Speed を 1 または 2 に設定します。これにより、エンコーダは、より高速なエンコーディングには適用されない心理視覚的な最適化をいくつか適用できます。
これらはトレードオフであることを覚えておいてください。私たちのデフォルトのエンコーディングは、追加設定なしで、かなりよく見えます。一日の終わりには、視覚品質、エンコード速度、ファイルサイズのトレードオフを行います。
Zencoder はオーディオのみのファイルをエンコードできますか?
はい私たちは、MP3、AAC、またはVorbisにオーディオファイルを変換することができます。また、ビデオファイルからオーディオをエクスポートすることができます。
私は多くのジョブを提出するつもりですが、Zencoder はそれを処理できますか?始める前に知らせておくべきですか?
Zencoder は間違いなくそれを処理できます。あなたが私たちに駆け込むつもりでない限りAPIレート制限 1分あたり1,000件の求人作成リクエストのうち、求人を送信する前に警告する必要はありません。
実際、非常に大量のジョブを送信する場合、サーバーを圧倒する可能性があることがより懸念されます。Zencoder から見るべき遅延は、ボリュームが現在の容量を超えた場合に、ジョブを処理するために必要なエンコードサーバーをオンラインにするのにかかる時間です。この場合、追加の容量が使用可能になるまで、最初のリクエストから数分かかることはありません。その後、Zencoder からのトラフィックをサーバーがどのように処理できるかが最大の懸念事項になります。その最初の遅延がトランスコーディングに影響する場合は、送信を開始する前に、当社にご連絡ください。これにより、予想して追加のサーバーをオンラインにすることができます。
考慮すべきファイル転送に関する懸念
入出力先に S3 を使用している場合は、特に同じリージョン内で、大幅な転送量を処理できるので、移動するのが良いはずです。
FTP サーバーを使用している場合は、サーバーの容量に応じて、ジョブをいくつか抑制し、50 ~ 500 のバッチで実行することができます。私たちは、大量のジョブが完全にFTPサーバーを圧倒し、ファイルに到達できないのでジョブが失敗した経験がありました。
出力ファイルが入力ファイルと同じサーバに送られる場合は、必要な帯域幅を考慮してください。ダウンロードはジョブの最初のバッチでは正常に動作しますが、出力のアップロードが開始されると問題が発生します。
通知に関する考慮事項
通知を使用している場合は、同じ懸念が適用されます。Zencoder からの数百件の POSTを、サーバが (潜在的に) 迅速に連続して処理できますか?
これは、失敗した通知を25回まで再試行するため、少し心配はありません。ファイルはすでにアップロードされています。ただし、動画が同じサーバー上にある場合、または通知を受信している同じサーバーにアップロードされている場合は、サーバーが過負荷になった場合に連続するジョブが失敗する可能性があります。
サーバーでの通知の過負荷を回避する最善の方法は、通知を受信したときにできる限り迅速に Zencoder に正常に応答することです。応答の範囲外で、通知の本文の処理は、ジョブキューまたはその他のバックグラウンド処理を使用して行うことをお勧めします。これにより、Zencoder が通知をタイムアウトさせないようにし、数秒後に再試行します。