ts文件时长获得

本文介绍了一种通过解析TS文件的PCR值来获取文件总时长的方法。主要包含读取TS文件、跳过无效数据段、提取PCR值并计算时长的步骤。代码中使用了libvlc_time_t类型来存储时长,并通过fseeki64进行文件定位。
摘要由CSDN通过智能技术生成
根据ts文件的pcr值,获取文件总时长
直接上代码
long long int get_ts_duration(string file_url)
{
    ts_pid.clock_begin = 0;
    ts_pid.clock_end = 0;
    ts_pcr_error_time = 0;
    ts_pcr_error = false;
    int pkt_count = 0;
    USES_CONVERSION;
    std::string file_url=T2A(m_Url);
    FILE *fp = fopen(file_url.c_str(), "rb");  
    if (!fp) {
        MessageBox(m_Url);  
        return 1;  
    }  
    
    _fseeki64(fp, 0, SEEK_END);
    libvlc_time_t totle_size = _ftelli64(fp);
    libvlc_time_t size = totle_size;
    rewind(fp);

// 该部分为提升效率前的代码
//     while (size>0)
//     {
//         int read_size=fread (buf, 1, sizeof(buf), fp);
//         size -= read_size;
//         double clock = get_len
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值