55290|123

16

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

ffmpeg实现h264和aac 数据mux复用为flv或ts或avi或mp4格式的封装 [复制链接]

 
      在下面的代码中,通过ffmpeg 实现了音视频数据流的mux ,文件封装或者是网络串流,修改输出接口就可以了;
输入为一路音频aac和一路视频h264,其中test.hdr和test.adr分别为h264和aac 的一个引导序列的文件,可以通过这个文件直接获取一帧的音频或者是视频的数据,
后面的程序直接就是打包和封装了;
    具体的程序,大家可以下载附件中的代码和音视频流进行测试,有问题直接在下面回帖就好;

while(1){
     AVPacket pkt = { 0 };
        av_init_packet(&pkt);


        pkt.dts = pts_time;
        pkt.pts = pts_time;
        char str_buffer[1000*1024] = "";
        pkt.data = (unsigned char *)str_buffer;
        pkt.size = 0;
        char msg[128] = "";

        if(video_tag == 1)
        {
            pts_time += 23*90;
            pkt.stream_index = video_st->index;
            str_length = fgets(msg,sizeof(msg),fp_hdr);
            if(str_length == NULL)
                break;
            pkt.size = atoi(msg);
            ret = fread(pkt.data,pkt.size,1,fp_h264);
            if(ret <= 0)
                break;

            video_tag = 0;
        }else{
            pkt.stream_index = audio_st->index;
            str_length = fgets(msg,sizeof(msg),fp_adr);
            if(str_length == NULL)
                break;
            pkt.size = atoi(msg);
            ret = fread(pkt.data,pkt.size,1,fp_aac);
            if(ret <= 0)
                break;

            video_tag = 1;
        }

        ret = av_interleaved_write_frame(oc, &pkt);
        if (ret != 0) {
            fprintf(stderr, "Ternence.Hsu # Error while writing video frame: %s\n", av_err2str(ret));
            exit(1);
        }
}



游客,如果您要查看本帖隐藏内容请回复


最新回复

非常好,有用   详情 回复 发表于 2022-8-5 08:24
点赞 关注
 

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
正在学习ffmpeg。
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
学学
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
下载下来试试看
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

5
 
顶起!!!下载下来看看
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

6
 
DQXIALAI
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
看看。。。。。。。。。。。。。。。。。。。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
学习一下,希望能得到相关资料。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

9
 
学习学习,谢谢分享
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

10
 
看看先
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 
为楼主的分享精神点赞~
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

12
 
下了学习下
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

13
 
牛逼,威武,支持,有希望了
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

14
 
学习学习
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

15
 

EXT_LIB 中都有什么库的哈?
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 
分享精神可嘉,就是不知道能不能真的好使
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

17
 
参考一下
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

18
 
非常感谢楼主的分享
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

19
 
多谢,正在找这方面资料
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

20
 
感谢分享
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表