GoProカメラはどのように/どこに保存しますか HiLightタグ ?
私はすでに次の場所で作成されたタグを見つけようとしましたが、役に立ちませんでした。
Windowsマシンでは、GoProStudioでタグを確認できます。私のGoProHERO4 Silverは、再生モードでもディスプレイにタグを表示します。 GoProアプリでは、タグも表示されます。
私は興味がある!わかりました、それだけではありません;)私はGoProStudioが利用できないLinuxマシンでも作業しています。作成したHiLightタグを引き続き使用できるようにしたいと思います。
HiLightタグを見つけました。それらはMP4ファイル自体に保存されています。
特に、タグは、MPEG-4コンテナのムービーボックス(HMMT
)のユーザーデータボックス(udta
)のタイプmoov
のボックスに保存されます。 ISO/IEC 14496-12 これらの「ボックス」の詳細については。
HMMT
ボックスは、非標準(GoPro固有)のISO/IEC14496-12ボックスのようです。そのデータは、1つ以上の32ビット整数で構成されます。最初の整数には、使用可能なHiLightタグの数が含まれます。後続のすべての整数は、HiLightタグの順序付きリストに似ています。各HiLightタグは、ミリ秒の値として表されます。
これらのマーカーを見つけるためのサンプルコードを次に示します。PHPリーダーライブラリ( https://code.google.com/p/php-reader/wiki/ISO14496 =)。
require_once 'Zend/Media/Iso14496.php';
$isom = new Zend_Media_Iso14496($file);
$hmmt = $isom->moov->udta->HMMT;
if ( isset($hmmt)) {
$reader = $hmmt->getReader();
$reader->setOffset($hmmt->getOffset());
$reader->readHHex(4);//skip some bytes
$reader->readHHex(4);//skip some bytes
$n = $reader->readInt32BE(); //number of points
for ($i = 1; $i <= $n; $i++) {
$t = $reader->readInt32BE();
print_r($t); // marker in ms
echo "\n";
}
}
GetReader()は残念ながら実装されていない関数であり、Zend/Media/Iso14496 /Box.phpにハッキングしました
public function getReader() {
return $this->_reader;
}
Javaでそれを実行したい場合は、このライブラリがおそらく役に立ちます(ファイルを詳細に調べるのに役立ちました) https://github.com/sannies/isoviewer