私はビデオのライブラリを持っていますが、それらはすべて、ビデオの残りの部分よりも先にアトムを配置することにより、Webストリーミング用に調整する必要がありますmoov。これにより、クライアントがビデオを完全にダウンロードする前に再生を開始できます。
moovアトムのバイト数を特定することにより、特定のビデオが調整されているかどうかを確認する信頼できる方法はありますか?これはデバッグ専用です。
私はビデオのライブラリを持っていますが、それらはすべて、ビデオの残りの部分よりも先にアトムを配置することにより、Webストリーミング用に調整する必要がありますmoov。これにより、クライアントがビデオを完全にダウンロードする前に再生を開始できます。
moovアトムのバイト数を特定することにより、特定のビデオが調整されているかどうかを確認する信頼できる方法はありますか?これはデバッグ専用です。
回答:
FFmpegはこの情報を実際には表示しません。
AtomicParsleyを使用して、ファイルを解析できます。例:
AtomicParsley input.mp4 -T
これにより、ツリー内の原子の位置が表示されます。moovアトムがファイルの先頭にある場合、アトムの直後に来るftyp必要があるため、たとえばBashで出力を解析して、2行目のみを出力し、次が含まれているかどうかを確認できますmoov。
AtomicParsley input.mp4 -T | sed -n 2p | grep -q "moov" && echo "yup" || echo "nope"
これqtfaststartを使用すると(ffmpegとは異なりますqt-faststart)、qtfaststart -l 入力 .mp4はトップレベルの原子の順序を表示します。
$ qtfaststart -l bad.mp4
ftyp (32 bytes)
free (8 bytes)
mdat (559619 bytes)
moov (52916 bytes)
$ qtfaststart -l good.mp4
ftyp (32 bytes)
moov (52916 bytes)
mdat (559619 bytes)
$
pipインストールをインストールすることができqtfaststartてpip install qtfaststart
brew install qtfaststart
-movflags faststartオプションまたはqt-faststartツールを参照してくださいffmpeg。