分享

ffmpeg实时解码并播放问题 H264

 mediatv 2013-04-21
 

新手求教。。
现在可以收到一个RTP数据包  格式如下:
struct RTP_PACKET
{
        RTP_HEADER RtpHeader; // RTP头
        H264_HEADER H264Header; // H.264头
        vector<BYTE> Payload; // 载荷
};
根据观察  可以发现接收到的前3包是  SPS  PPS  SEI  请问 这3包要怎么处理?

我接收到的这RTP数据包是属于什么流?  ES ? 或者啥米?
查资料说  SPS PPS 是来初始化decode的  
我就把SPS  PPS 拼接起来 放在pcSPS_PPS
然后
m_CodecCtx->extradata = new uint8_t[nSPS_PPS + FF_INPUT_BUFFER_PADDING_SIZE];
m_CodecCtx->extradata_size = nSPS_PPS;

memcpy(m_CodecCtx->extradata, pcSPS_PPS, nSPS_PPS);
memset(&m_CodecCtx->extradata[nSPS_PPS], 0, FF_INPUT_BUFFER_PADDING_SIZE);

接着avcodec_open  这样对吗?
SEI 该怎么处理?  第4包是IDR 该怎么办?   对视频编码不甚了解

我直接把NAL类型是1的直接扔avcodec_decode_video2  返回是-1   
求赐教
  

很抱歉,刚接触ffmpeg不能回答您的问题。。。。
可以请教您几个问题吗?
1)H264 NALU可以直接打包成RTP包,并且发送吗?
2)这样做和打包为mpeg-TS包有什么区别吗?
3)这些都可以在ffmpeg里面做吗?可不可以共享一些代码?


 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多