封装flv文件头
46 4C 56 01 01 00 00 00 09 00 00 00 00
int write_header( flv_buffer *c )
{
x264_put_tag( c, "FLV" ); // Signature
x264_put_byte( c, 1 ); // Version
x264_put_byte( c, 1 ); // Video Only
x264_put_be32( c, 9 ); // DataOffset
x264_put_be32( c, 0 ); // PreviousTagSize0
return flv_flush_data( c );
}
封装script帧
12 00 00 9F 00 00 00 00 00 00 00 02 00 0A 6F 6E
4D 65 74 61 44 61 74 61 08 00 00 00 07 00 05 77
69 64 74 68 00 40 9E 00 00 00 00 00 00 00 06 68
65 69 67 68 74 00 40 90 E0 00 00 00 00 00 00 09
66 72 61 6D 65 72 61 74 65 00 40 39 00 00 00 00
00 00 00 0C 76 69 64 65 6F 63 6F 64 65 63 69 64
00 40 1C 00 00 00 00 00 00 00 08 64 75 72 61 74
69 6F 6E 00 40 2E E1 47 AE 14 7A E1 00 08 66 69
6C 65 73 69 7A 65 00 41 61 94 AB 20 00 00 00 00
0D 76 69 64 65 6F 64 61 74 61 72 61 74 65 00 40
B2 A7 D6 BF 89 26 FF 00 00 09 00 00 00 AA
int set_script_param( flv_hnd_t *handle, double i_width, double i_height)
{
flv_hnd_t *p_flv = handle;
flv_buffer *c = p_flv->c;
printf("set_script_param 1\n");
x264_put_byte( c, FLV_TAG_TYPE_META ); // Tag Type "script data"
int start = c->d_cur;
x264_put_be24( c, 0