m3u8 文件代码片段.

m3u8 文件代码片段. 备用.


//写分片的最大持续时间,分片的序号
int write_m3u8_header(FILE *fp, const myoption_t opt) 
{
	char write_buf[1024];
	snprintf(write_buf, 1024, "#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:%05lu\n#EXT-X-MEDIA-SEQUENCE:%d\n", 
			(long)opt.segment_max_duration, opt.sequence);
	if (fwrite(write_buf, strlen(write_buf), 1, fp) != 1) {
		fprintf(stderr, "Could not write header to m3u8 index file!\n");
		return -1;
	}
	fflush(fp);
	return 0;
}

//写分片持续时间,名称及顺序号
int write_m3u8_segment(FILE *fp, const char *bname, unsigned int index, double duration) 
{
	char write_buf[1024];
	snprintf(write_buf, 1024, "#EXTINF:%f,\n%s-%u.ts\n", duration, bname, index);
	if (fwrite(write_buf, strlen(write_buf), 1, fp) != 1) {
		fprintf(stderr, "Could not write segment to m3u8 index file!\n");
		return -1;
	}
	fflush(fp);
	return 0;
}

//写分片结束标记
int write_m3u8_tailer(FILE *fp) 
{
	char write_buf[1024];
	snprintf(write_buf, 1024, "#EXT-X-ENDLIST\n");
	if (fwrite(write_buf, strlen(write_buf), 1, fp) != 1) {
		fprintf(stderr, "Could not write last file and endlist tag to m3u8 index file!\n");
		return -1;
	}
	fflush(fp);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值