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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ffmpeg时间基种类及转换

發(fā)布時(shí)間:2025/3/21 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ffmpeg时间基种类及转换 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • 時(shí)間基相關(guān)結(jié)構(gòu)
  • 時(shí)間基種類
  • 時(shí)間基轉(zhuǎn)換函數(shù)
  • ffmpeg中時(shí)間基特殊使用
  • 一、ffmpeg中時(shí)間基相關(guān)數(shù)據(jù)結(jié)構(gòu):

  • typedef struct AVRational{

  • ?
  • int num; ///< numerator

  • ?
  • int den; ///< denominator

  • ?
  • } AVRational;

  • 二、時(shí)間基有如下幾種:

    不同時(shí)間基單位:

    1、InputStream: 時(shí)間基 1:1000000(單位:us)

    2、AVStream:時(shí)間基 1:90000(單位:s)- 根據(jù)mpeg的協(xié)議,壓縮后或解壓前的數(shù)據(jù),pts和dts是90kHz時(shí)鐘的采樣值

    3、AVCodecContext:時(shí)間基 1:framerate (單位:s)

    不同結(jié)構(gòu)使用的時(shí)間基種類:

    1、AVPacket:使用AVStream時(shí)間基

    2、AVFrame:pts使用AVCodecContext時(shí)間基;pkt_pts、pkt_dts使用AVStream時(shí)間基

    3、InputStream:使用InputStream時(shí)間基

    四、時(shí)間基轉(zhuǎn)換函數(shù)

    1、

    ? int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) av_const;

    ? 其中:a為待轉(zhuǎn)換時(shí)間;bq為待轉(zhuǎn)換時(shí)間依賴的時(shí)間基;cq為目標(biāo)時(shí)間基。

    ? 上述公式等同于:

    a * bq / cq

    2、

    void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst);

    ? 其中:pkt為編碼后數(shù)據(jù)包;src為原始時(shí)間基;dst為目標(biāo)時(shí)間基

    五、時(shí)間基擴(kuò)展

    AVFrame->pts和AVPacket->pts、AVPacket->dts的值,在解碼/編碼后,會(huì)經(jīng)歷短暫的time_base不匹配的情況:

    1、解碼后,decoded_frame->pts的值使用AVStream->time_base為單位,后在AVFilter里面轉(zhuǎn)換成以AVCodecContext->time_base為單位。

    2、編碼后,pkt.pts、pkt.dts使用AVCodecContext->time_base為單位,后通過調(diào)用"av_packet_rescale_ts"轉(zhuǎn)換為AVStream->time_base為單位。

    https://blog.csdn.net/DONGHONGBAI/article/details/82775588

    總結(jié)

    以上是生活随笔為你收集整理的ffmpeg时间基种类及转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。