h264 / AACビデオを入力として受け取り、HLS仕様に従ってセグメント化するセグメンターを構築しました。そのソースコードはここで見ることができます: https://gist.github.com/cpnielsen/f36729c371aac0fe535d
これは Python 拡張機能として実装されていますが、興味深い部分はprocess_video()
関数にあります。libav
ライブラリを(代わりに)利用ffmpeg
して、面倒な作業を行います。
95% の確率で動作しますが、オーディオが同期していないセグメントを生成するビデオに遭遇しました。コマンド ライン ツールを使用していた場合は、追加-async 1
するだけで修正できますが、同じ機能を C コードに実装するにはどうすればよいでしょうか。
フィルターを開始するコードのスニペットを見つけましたavconv_filter.c
( for libav
、ffmpeg
同等のものがわからない) が、ドキュメントがないと、モジュラーセットアップ全体の外でこれを行う方法を理解するのが困難です。
私はただする必要があります:
- 正しいフィルターを開始する
- それを入力(または出力?わからない)に適用します
- フィルターを使用する際の落とし穴を知っておいてください。
どんな助けでも大歓迎です。サンプルコード、フィルターの説明など