程序代码:将输入流解封装为H264视频流和AAC音频流(使用FFmpeg)

简要说明:
1、文件功能:将输入流解封装,分解为H264格式的视频流和AAC格式的音频流,分别保存在文件中;
2、音频流(AAC格式)文件可以用VLC播放器播放,视频流(H264)文件可用H264Visa播放(使用VLC播放器不能播放,原因待查);
3、此程序由 雷霄骅先生 所写的程序改编而来,在此致以深深的无法用语言表达的谢意。愿逝者安息,生者前行!!
4、本人邮箱:zxwphysics@126.com。

// 雷霄骅原程序的地址
http://blog.csdn.net/leixiaohua1020/article/details/39802819


#include "stdafx.h"


extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
};


#pragma comment(lib, "avcodec.lib")
#pragma comment(lib, "avformat.lib")


/* 雷霄骅
FIX: H.264 in some container format (FLV, MP4, MKV etc.) need "h264_mp4toannexb" bitstream filter (BSF)
* Add SPS,PPS in front of IDR frame
* Add start code ("0,0,0,1") in front of NALU
H.264 in some container (MPEG2TS) don't need this BSF.
*/


//'1': Use H.264 Bitstream Filter 
#define USE_H264BSF 1


int main(int argc, char* argv[])
{
// Variables Definition


AVFormatContext* ifmt_ctx = NULL; // Format context of input stream
const char* input_filepath = NULL; // File path of input stream

int idx_audio = -1; // index of input audio stream
int idx_video = -1; // index of input video stream


AVStream* pAudioStream = NULL; // Stream structure of input audio stream
AVCodecContext* pAudioCodecCtx = NULL; // main external API structure of input audio stream
AVCodec* pAudioCodec = NULL; // AVCodec structure of input audio stream


AVStream* pVideoStream = NULL; // ... of input video stream
AVCodecContext* pVideoCodecCtx = NULL; // 
AVCodec* pVideoCodec = NULL; //


AVFormatContext* ofmt_ctx_audio = NULL; // Format context of output audio stream
AVStream* pAudioStream_out = NULL; // Output audio stream (AAC)
const char* output_filepath_audio = NULL; // File path of output audio stream


AVFormatContext* ofmt_ctx_video = NULL; // ... of output video stream
AVStream* pVideoStream_out = NULL; // H264
const char* output_filepath_video = NULL; // 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值