水笙赵 2021-01-21 18:55 采纳率: 0%
浏览 12

hevc视频如何 打包 成ts流?

如何将h265/hevc视频打包为ts流?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 14:57
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要将H.265/HEVC视频打包成TS流,您可以使用FFmpeg库。以下是一个简单的示例,说明如何创建一个包含多个片段的H.265/HEVC视频文件,并将其转换为TS流:

    #include <ffplay.h>
    #include <iostream>
    
    int main(int argc, char *argv[])
    {
        if (argc != 3) {
            std::cerr << "Usage: ffmpeg [options] input_file output_file" << std::endl;
            return -1;
        }
    
        // 使用FFmpeg读取输入视频文件
        int ret = ffplay(argv[1], &p);
        if (ret < 0)
            return -1;
    
        // 创建输出文件
        FILE *output = fopen(argv[2], "wb");
    
        // 将视频数据写入到输出文件中
        while ((ret = ffwrite(output, 1, p.data)) > 0) {
            // 如果有错误,则返回-1
            if (ret == -1)
                return -1;
        }
        
        // 关闭文件
        fclose(output);
    
        return 0;
    }
    

    这段代码首先尝试读取输入文件(input_file),然后创建一个新的输出文件(output_file)。它使用ffwrite()函数来将视频数据写入到输出文件中。

    注意:这个例子仅适用于Windows系统。对于Linux或macOS系统,请使用相应的命令行工具(例如,ffmpeg在Linux上,或者ffmpegavconv在macOS上)。

    此外,为了将H.265/HEVC视频打包成TS流,您还需要编写一些额外的脚本,这些脚本会根据视频的不同片段生成不同的片段。这通常涉及到使用一些音频和视频编辑软件,如Adobe Premiere Pro、Final Cut Pro等。

    评论

报告相同问题?