yamdi stands for Yet Another MetaData Injector and is a metadata injector for FLV files.
It adds the onMetaData event to your FLV files.
features
Some key features of yamdi are:
large file support
H.264 support
onMetaData, onLastSecond, onLastKeyframe events
low memory footprint
XML metadata output
举例
yamdi -i test.flv -o test_o.flv -x test.xml
通过以上指令,可以将添加的keyframe的信息可以输出到test.xml中。
test.xml如下:
<?xml version='1.0' encoding='UTF-8'?>
<fileset>
<flv name="test_o.flv">
<hasKeyframes>true</hasKeyframes>
<hasVideo>true</hasVideo>
<hasAudio>true</hasAudio>
<hasMetadata>true</hasMetadata>
<hasCuePoints>false</hasCuePoints>
<canSeekToEnd>true</canSeekToEnd>
<audiocodecid>1</audiocodecid>
<audiosamplerate>3</audiosamplerate>
<audiodatarate>345</audiodatarate>
<audiosamplesize>1</audiosamplesize>
<audiodelay>0.00</audiodelay>
<stereo>true</stereo>
<videocodecid>7</videocodecid>
<framerate>25.10</framerate>
<videodatarate>548</videodatarate>
<height>360</height>
<width>640</width>
<datasize>3452940</datasize>
<audiosize>1333990</audiosize>
<videosize>2113358</videosize>
<filesize>3453733</filesize>
<lasttimestamp>29.96</lasttimestamp>
<lastvideoframetimestamp>29.96</lastvideoframetimestamp>
<lastkeyframetimestamp>29.96</lastkeyframetimestamp>
<lastkeyframelocation>3453713</lastkeyframelocation>
<keyframes>
<times>
<value id="0">0.00</value>
<value id="1">0.00</value>
<value id="2">1.44</value>
<value id="3">7.68</value>
<value id="4">14.20</value>
<value id="5">22.04</value>
<value id="6">27.04</value>
<value id="7">28.28</value>
<value id="8">29.96</value>
</times>
<filepositions>
<value id="0">793</value>
<value id="1">854</value>
<value id="2">212086</value>
<value id="3">825300</value>
<value id="4">1598387</value>
<value id="5">2565681</value>
<value id="6">3186719</value>
<value id="7">3288693</value>
<value id="8">3453713</value>
</filepositions>
</keyframes>
<duration>29.96</duration>
</flv>
</fileset>
最有用的是times和filepositions映射,可实现快速seek。如果将添加过keyframe的flv文件放在web server上,此时是可以拖动进度条随意时间点播放的。
References:
http://yamdi.sourceforge.net/
https://blog.csdn.net/chenxiang199055/article/details/10996609