日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

annexb avcc

發布時間:2023/12/13 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 annexb avcc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄annex-b系:傳統派avcc系:現代派針對avpacket使用,而不是其他數據結構轉換為annexb :

Convert an H.264 bitstream from length prefixed mode to start code prefixed mode (as defined in the Annex B of the ITU-T H.264 specification).
This is required by some streaming formats, typically the MPEG-2 transport stream format (muxer mpegts).

annex-b系:傳統派

annex-b格式 bitstream === 起始碼前綴模式
利用startcode,分割nalu
pps sps存儲在es中
流媒體直播使用格式, 比如常用格式有ts

avcc系:現代派

avc- c格式 container ==== 長度前綴模式
使用長度分割nalu
pps sps存儲在container中
介質存儲使用格式, 比如 flv mp4 mkv

針對avpacket使用,而不是其他數據結構

h264使用的過濾器:h264_mp4toannexb
h265使用的過濾器:hevc_mp4toannexb

static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *out);
static int hevc_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *out);

轉換為annexb :

ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts

filter = av_bsf_get_by_name("h264_mp4toannexb");
if (!filter) {
    av_log(avf, AV_LOG_ERROR, "h264_mp4toannexb bitstream filter "
           "required for H.264 streams\n");
    return AVERROR_BSF_NOT_FOUND;
}
ret = av_bsf_alloc(filter, &bsf);
if (ret < 0)
    return ret;
cs->bsf = bsf;

ret = avcodec_parameters_copy(bsf->par_in, st->codecpar);
    if (ret < 0)
        return ret;

ret = av_bsf_init(bsf);
if (ret < 0)
    return ret;

本文來自博客園,作者:faithlocus,轉載請注明原文鏈接:https://www.cnblogs.com/faithlocus/p/15570315.html

總結

以上是生活随笔為你收集整理的annexb avcc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。