如何判断视频数据是H264编码
H264詳細(xì)介紹:H264編碼總結(jié)
u8 is_h264_file(char *filename) {AVFormatContext *ifmt_ctx = NULL;int ret = 0;if ((ret = avformat_open_input(&ifmt_ctx, filename, 0, 0)) < 0) {printf( "Could not open input file.");return 0;}// printf("1ifmt_ctx->video_codec_id:%d\n",ifmt_ctx->video_codec_id);if ((ret = avformat_find_stream_info(ifmt_ctx, 0)) < 0) {printf( "Failed to retrieve input stream information");avformat_close_input(&ifmt_ctx);return 0;}//ifmt_ctx->streams[0]->codecpar->codec_id;printf("3ifmt_ctx->video_codec_id:%d\n",ifmt_ctx->streams[0]->codecpar->codec_id);if(ifmt_ctx->streams[0]->codecpar->codec_id==AV_CODEC_ID_H264){printf("is h264 file\n");avformat_close_input(&ifmt_ctx);return 1;}else {printf("is not h264 file\n");avformat_close_input(&ifmt_ctx);return 0;}}判斷MP4是否為H.264編碼格式,用mediaInfo這個軟件是可以查看的
H264標(biāo)準(zhǔn)的主要特點(diǎn)如下:
1.更高的編碼效率:同H.263等標(biāo)準(zhǔn)的特率效率相比,能夠平均節(jié)省大于50%的碼率。
2.高質(zhì)量的視頻畫面:H.264能夠在低碼率情況下提供高質(zhì)量的視頻圖像,在較低帶寬上提供高質(zhì)量的圖像傳輸是H.264的應(yīng)用亮點(diǎn)。
3.提高網(wǎng)絡(luò)適應(yīng)能力:H.264可以工作在實(shí)時通信應(yīng)用(如視頻會議)低延時模式下,也可以工作在沒有延時的視頻存儲或視頻流服務(wù)器中。
4.采用混合編碼結(jié)構(gòu):同H.263相同,H.264也使用采用DCT變換編碼加DPCM的差分編碼的混合編碼結(jié)構(gòu),還增加了如多模式運(yùn)動估計、幀內(nèi)預(yù)測、多幀預(yù)測、基于內(nèi)容的變長編碼、4x4二維整數(shù)變換等新的編碼方式,提高了編碼效率。
5.H.264的編碼選項較少:在H.263中編碼時往往需要設(shè)置相當(dāng)多選項,增加了編碼的難度,而H.264做到了力求簡潔的“回歸基本”,降低了編碼時復(fù)雜度。
6.H.264可以應(yīng)用在不同場合:H.264可以根據(jù)不同的環(huán)境使用不同的傳輸和播放速率,并且提供了豐富的錯誤處理工具,可以很好的控制或消除丟包和誤碼。
7.錯誤恢復(fù)功能:H.264提供了解決網(wǎng)絡(luò)傳輸包丟失的問題的工具,適用于在高誤碼率傳輸?shù)臒o線網(wǎng)絡(luò)中傳輸視頻數(shù)據(jù)。
8.較高的復(fù)雜度:264性能的改進(jìn)是以增加復(fù)雜性為代價而獲得的。據(jù)估計,H.264編碼的計算復(fù)雜度大約相當(dāng)于H.263的3倍,解碼復(fù)雜度大約相當(dāng)于H.263的2倍。
總結(jié)
以上是生活随笔為你收集整理的如何判断视频数据是H264编码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深刻理解FFT
- 下一篇: 工作287:命名报错