国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

音視頻開發(fā)-ffmpeg介紹-系列一

這篇具有很好參考價(jià)值的文章主要介紹了音視頻開發(fā)-ffmpeg介紹-系列一。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一.簡(jiǎn)介

FFmpeg框架的基本組成包含:

二.?FFmpeg框架梳理音視頻的流程?編輯

基本概念:

三.ffmpeg、ffplay、ffprobe區(qū)別

? ? ?4.1 ffmpeg是用于轉(zhuǎn)碼的應(yīng)用程序?

4.2?fffplay是用于播放的應(yīng)用程序?

? ? ?4.3?ffprobe是用于查看文件格式的應(yīng)用程序

? ? ?4.4?ffmpeg是用于轉(zhuǎn)碼的應(yīng)用程序?

??五.常見的文件格式、編碼

? 5.1?常見的視頻格式、文件格式

5.2?常見的編碼音頻轉(zhuǎn)碼格式

六,編譯ffmepg腳本

6.1 ffmpeg核心工具

6.2轉(zhuǎn)換視頻

?6.3轉(zhuǎn)換裁剪

?6.3 視頻靜音

6.4?視頻添加水印

?6.5?視頻變速

6.6?視頻增加馬賽克

6.7?視頻截圖

?6.8?圖片添加水印

?6.9?圖片合成視頻


  • 一.簡(jiǎn)介

?,? Download FFmpeg?官網(wǎng)地址
FFmpeg全稱為Fast Forward Moving Picture Experts Group(mpeg:動(dòng)態(tài)圖像專家組),于2000年誕生,是一款免費(fèi),開源的音視頻編解碼工具及開發(fā)套件。它的功能強(qiáng)大,用途廣泛,大量用于視頻網(wǎng)站和商業(yè)軟件(比如 Youtube 和 iTunes)。
FFmpeg 本身是一個(gè)龐大的項(xiàng)目,包含許多組件和庫文件,最常用的是它的命令行工具,FFmpeg既是一款音視頻編解碼工具,同時(shí)也是一組音視頻編解碼開發(fā)套件,作為編解碼開發(fā)套件,它為開發(fā)者提供了豐富的音視頻處理的調(diào)用接口。FFmpeg提供了多種媒體格式的封裝和解封裝,包括多種音視頻編碼、多種協(xié)議的流媒體、多種色彩格式轉(zhuǎn)換、多種采樣率轉(zhuǎn)換、多種碼率轉(zhuǎn)換等;FFmpeg框架提供了多種豐富的插件模塊,包含封裝與解封裝的插件、編碼與解碼的插件等。

FFmpeg是一個(gè)很全面的圖像處理套件。

  1. FFmpeg框架的基本組成包含:

    音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

    各個(gè)函數(shù)庫的作用?

    libavcodec:編解碼庫。支持MPEG4、AAC、MJPEG等自帶的媒體編解碼格式等 ?? * 支持第三方的編解碼器:H.264(AVC)編碼,需要使用x264編碼器;H.265(HEVC)編碼,需要使用x265編碼器;MP3(mp3lame)編碼,需要使用libmp3lame編碼器 如果希望增加自己的編碼格式,或者硬件編解碼,則需要在AVCodec中增加相應(yīng)的編解碼模塊

    libavformat:音視頻容器格式以及所支持的協(xié)議的封裝和解析。文件封裝格式:MP4、FLV、KV、TS等 ?? * 網(wǎng)絡(luò)協(xié)議封裝格式:RTMP、RTSP、MMS、HLS等

    libavutil:提供了一些公共函數(shù),工具庫。

    libavfilter:音視頻的濾鏡庫,如視頻加水印、音頻變聲等。

    libavdevice:支持眾多設(shè)備數(shù)據(jù)的輸入與輸出,如讀取攝像頭數(shù)據(jù)、屏幕錄制。

    libswresample, libavresample:提供音頻的重采樣工具庫。

    libswscale:提供對(duì)視頻圖像進(jìn)行色彩轉(zhuǎn)換、縮放以及像素格式轉(zhuǎn)換,如圖像的 YUV 轉(zhuǎn)換。

    libpostproc:多媒體后處理器。

  2. 二.?FFmpeg框架梳理音視頻的流程

    基本概念:

    容器(Container) 容器就是一種文件格式,比如flv,mkv等。包含下面5種流以及文件頭信息。

    流(Stream) 是一種視頻數(shù)據(jù)信息的傳輸方式,5種流:音頻,視頻,字幕,附件,數(shù)據(jù)。

    幀(Frame) 幀代表一幅靜止的圖像,分為I幀,P幀,B幀。

    編解碼器(Codec) 是對(duì)視頻進(jìn)行壓縮或者解壓縮,CODEC =Code (編碼) +DECode(解碼)

    復(fù)用/解復(fù)用(mux/demux) 把不同的流按照某種容器的規(guī)則放入容器,這種行為叫做復(fù)用(mux) 把不同的流從某種容器中解析出來,這種行為叫做解復(fù)用(demux),FFmpeg是否支持某種媒體封裝格式,取決于編譯時(shí)是否包含了該格式的封裝庫。根據(jù)實(shí)際需求,可進(jìn)行媒體封裝格式的擴(kuò)展,增加自己定制的封裝格式,即在AVFormat中增加自己的封裝處理模塊

  3. 三.ffmpeg、ffplay、ffprobe區(qū)別

? ? ?4.1 ffmpeg是用于轉(zhuǎn)碼的應(yīng)用程序?
? ? ?4.2?fffplay是用于播放的應(yīng)用程序?
? ? ?4.3?ffprobe是用于查看文件格式的應(yīng)用程序

??五.常見的文件格式、編碼

? 5.1?常見的視頻格式、文件格式

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

5.2?常見的編碼音頻轉(zhuǎn)碼格式

  • MP4封裝:H264視頻編碼+AAC音頻編碼(比較成熟)

  • WebM封裝:VP8視頻編碼+Vorbis音頻編碼(谷歌方案)

  • OGG封裝:Theora視頻編碼+Vorbis音頻編碼(開源)

六,編譯ffmepg腳本

#!/bin/bash
# 以下路徑需要修改成自己的NDK目錄
TOOLCHAIN=/Users/lh/Library/Android/sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/darwin-x86_64
# 最低支持的android sdk版本
API=21

function build_android
{
echo "Compiling FFmpeg for $CPU"
./configure \
 --prefix=$PREFIX \
 --disable-shared \
 --enable-static \
 --disable-avdevice \
 --enable-small \
 --disable-muxers \
 --disable-filters \
 --enable-gpl \
 --cross-prefix=$CROSS_PREFIX \
 --target-os=android \
 --arch=$ARCH \
 --cpu=$CPU \
 --cc=$CC \
 --cxx=$CXX \
 --enable-cross-compile \
 --sysroot=$SYSROOT \
 --extra-cflags="-mno-stackrealign -Os $OPTIMIZE_CFLAGS -fPIC" \
 --extra-ldflags="$ADDI_LDFLAGS" \
 $ADDITIONAL_CONFIGURE_FLAG
make clean
make -j16
make install
echo "The Compilation of FFmpeg for $CPU is completed"
}

# armv8-a
ARCH=arm64
CPU=armv8-a
# r21版本的ndk中所有的編譯器都在/toolchains/llvm/prebuilt/darwin-x86_64/目錄下(clang)
CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
# NDK頭文件環(huán)境
SYSROOT=$TOOLCHAIN/sysroot
CROSS_PREFIX=$TOOLCHAIN/bin/aarch64-linux-android-
# so輸出路徑
PREFIX=$(pwd)/android/$CPU
OPTIMIZE_CFLAGS="-march=$CPU"
build_android

# 交叉編譯工具目錄,對(duì)應(yīng)關(guān)系如下
# armv8a -> arm64 -> aarch64-linux-android-
# armv7a -> arm -> arm-linux-androideabi-
# x86 -> x86 -> i686-linux-android-
# x86_64 -> x86_64 -> x86_64-linux-android-

# CPU架構(gòu)
# armv7-a
ARCH=arm
CPU=armv7-a
CC=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang
CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang++
SYSROOT=$TOOLCHAIN/sysroot
CROSS_PREFIX=$TOOLCHAIN/bin/arm-linux-androideabi-
PREFIX=$(pwd)/android/$CPU
OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
build_android

 

運(yùn)行./buildsh.sh

編譯成功以后的產(chǎn)物

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

6.1 ffmpeg核心工具

ffmpeg提供了以下三個(gè)工具

____ffmpeg # 用于音視頻編解碼等等
| |____ffplay # 用于播放音視頻文件、流媒體數(shù)據(jù)等等
| |____ffprobe # 用于查看文件封裝格式、音視頻編碼格式等等詳細(xì)信息
# ffmpeg [全局參數(shù)] [[輸入文件參數(shù)] -i 輸入文件]... {[輸出文件參數(shù)] 輸出文件}...
$ ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...

獲取視頻信息

./ffmpeg -i /Users/lh/Downloads/test.mp4?

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

這部分信息表明了該文件的

Metadata信息:

major_brand字段表示該文件的封裝格式為mp42(MP4格式的子規(guī)范),文件創(chuàng)建時(shí)間為 2023-07-21T03:32:06.000000Z,視頻持續(xù)時(shí)間為00:00:07.86(71秒86),開始播放的時(shí)間是從0.000300ms,文件的比特率是1457 kb/s

第一路視頻信息:

在介紹該部分信息之前,需要先知道幾個(gè)專業(yè)術(shù)語,即關(guān)于時(shí)間基相關(guān)的定義:

tbr 表示幀率,該參數(shù)傾向于一個(gè)基準(zhǔn),往往tbr跟fps相同
tbn 表示視頻流 timebase(時(shí)間基準(zhǔn)),比如ts流的timebase 為90000,flv格式視頻流timebase為1000?
tbc 表示視頻流codec timebase ,對(duì)于264碼流該參數(shù)通過解析sps間接獲?。ㄍㄟ^sps獲取幀率)
這部分信息表示文件的第一股流是視頻流,編碼方式是H264的格式,封裝格式是AVC1,幀的數(shù)據(jù)格式是yuv420p,分辨率是480x640,比特率是1450 kb/s

6.2轉(zhuǎn)換視頻

把mp4格式的視頻,轉(zhuǎn)化成flv格式

./ffmpeg -i /Users/lh/Downloads/test.mp4? /Users/lh/Downloads/aaa.flv

下面列舉出了具體的轉(zhuǎn)換過程

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

?6.3轉(zhuǎn)換裁剪

./ffmpeg -ss 00:00:03 -i /Users/lh/Downloads/test.mp4 -vcodec copy -acodec copy -t 00:00:6 /Users/lh/Downloads/output.mp4

把test.mp4從第三秒開始裁剪到第六秒,下面是裁剪過程

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

?6.3 視頻靜音

./ffmpeg -i /Users/lh/Downloads/210710171112971120.mp4 -af "volume=enable='between(t,5,10)':volume=0" /Users/lh/Downloads/output.mp4?

說明:該命令的作用是將210710171112971120.mp4視頻按照指定時(shí)間靜音,生成一個(gè)新的output.mp4視頻。volume=enable='between(t,5,10)':volume=0 靜音從第5秒到第10秒,這個(gè)命令可以寫多個(gè),即多處靜音,中間逗號(hào)隔開

6.4?視頻添加水印

./ffmpeg -i /Users/lh/Downloads/210710171112971120.mp4 -vf "movie=/Users/lh/Downloads/shuiyin.jpeg,colorchannelmixer=aa=0.4,scale=300:300 [watermark]; [in][watermark] overlay" /Users/lh/Downloads/output.mp4

說明:

該命令的作用是將input.mp4視頻按照指定命令,打上水印,生成一個(gè)新的output.mp4視頻。

movie=input.png ? 水印圖片、

colorchannelmixer=aa=0.4 ?水印透明度(如果不需要更改透明度,則把該段去掉)

scale=300:300 ? 水印的大?。ㄈ绻迷〈笮?,則把該段去掉)

overlay ? ?水印的位置,默認(rèn)為左上角

? ? ? ? overlay=W-w ? 右上角

? ? ? ? overlay=0:H-h ? 左下角

? ? ? ? overlay=W-w:H-h ? 右下角

ps:如果水印不需要貼邊顯示,稍微更改W和H的值即可
?

視頻添加水印的效果

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

?如果要放在左下角

./ffmpeg -i /Users/lh/Downloads/210710171112971120.mp4 -vf "movie=/Users/lh/Downloads/shuiyin.jpeg,colorchannelmixer=aa=0.4,scale=300:300 [watermark]; [in][watermark] overlay=W-w:H-h" /Users/lh/Downloads/output.mp4

效果圖下圖

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

?6.5?視頻變速

./ffmpeg -i /Users/lh/Downloads/210710171112971120.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" /Users/lh/Downloads/output.mp4

說明:

該命令的作用是將210710171112971120.mp4 視頻按照指定倍速,生成一個(gè)新的output.mp4視頻。setpts=0.5*PTS ?視頻加速(默認(rèn)為1,現(xiàn)在是0.5。變成2倍速了)

atempo=2.0 ?音頻加速(默認(rèn)為1,現(xiàn)在是0.5.變成2倍速了)

ps:視頻加速和音頻加速,倍速需要一致,否則聲音視頻會(huì)不同步

其實(shí)就是相當(dāng)于我們?cè)诳爝M(jìn)視頻2倍速的速度播放視頻,比如我們經(jīng)常會(huì)在有些視頻網(wǎng)站看到x1.2,x1.5,x2倍速播放視頻

6.6?視頻增加馬賽克

如果需要給視頻或圖片添加馬賽克,可以使用?boxblur?濾鏡。該濾鏡將指定區(qū)域變成模糊效果,從而達(dá)到馬賽克的效果。以下是一個(gè)簡(jiǎn)單的例子:

./ffmpeg -i /Users/lh/Downloads/210710171112971120.mp4 -filter_complex "[0:v]boxblur=10[blur];[blur]crop=200:200:300:300,boxblur=10[cropped];[0:v][cropped]overlay=300:300" /Users/lh/Downloads/output.mp4?

說明

其中 -i 210710171112971120.mp4 表示指定輸入文件。[0:v]boxblur=10[blur] 表示對(duì)視頻畫面進(jìn)行模糊處理,模糊半徑為 10 像素,保存為一個(gè)中間變量 blur。[blur]crop=200:200:300:300,boxblur=10[cropped] 表示對(duì)模糊后的視頻畫面進(jìn)行裁剪,只保留左上角起始坐標(biāo)為 (300, 300),寬高為 200 的區(qū)域,并再次進(jìn)行模糊處理,保存為一個(gè)中間變量 cropped。最后使用 overlay 濾鏡將原始視頻和裁剪后的帶馬賽克畫面疊加在一起,生成新的視頻文件 output.mp4。

如果需要調(diào)整馬賽克的大小、位置、形狀等屬性,可以加入不同的參數(shù)進(jìn)行設(shè)置。

如果視頻中的水印和馬賽克無法通過軟件工具進(jìn)行剔除,可以嘗試使用 FFmpeg 或類似的工具,在視頻上添加其他的圖層來遮蓋住這些區(qū)域

下面是打碼效果
?

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

6.7?視頻截圖

./ffmpeg -i /Users/lh/Downloads/210710171112971120.mp4 -y -f mjpeg -ss 30 -t 1 ?/Users/lh/Downloads/test1.jpg

說明:

-f mjpeg? 指定格式化的格式為mjpeg,

-ss 30? ? ?從第30秒開始截取

-t? 1? ? ? ? 截取一幀

效果如下圖

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

?6.8?圖片添加水印

./ffmpeg -i /Users/lh/Downloads/test1.jpg -i /Users/lh/Downloads/shuiyin.jpeg -filter_complex "overlay=W-w-10:H-h-10:alpha=0.5" /Users/lh/Downloads/output.jpg

說明:

其中?W?和?H?表示視頻畫面的寬度和高度,w?和?h?分別表示水印圖片的寬度和高度。alpha=0.5?表示設(shè)置水印透明度為 0.5

效果如下圖?

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

?6.9?圖片合成視頻

/ffmpeg -i /Users/lh/Downloads/imgs/img_%1d.jpeg /Users/lh/Downloads/out.mp4

把/Users/lh/Downloads/imgs/這個(gè)目錄下面的6張圖片合并成一個(gè)視頻

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

?輸出結(jié)果:

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

6.10?視頻添加字幕

首先創(chuàng)建字幕文件

cat zimu.srt

1
00:00:01,000 --> 00:00:02,000
大家好,我是測(cè)試ffmepg的開發(fā)人員,這是第一條字幕

2
00:00:02,000 --> 00:00:05,000
本次我想和大家分享利用ffmpeg制作字幕的方法

3
00:00:05,000 --> 00:00:10,000
本次我想和大家分享利用ffmpeg制作字幕的方法

4
00:00:10,000 --> 00:00:20,000
本次我想和大家分享利用ffmpeg制作字幕的方法

./ffmpeg -i /Users/lh/Downloads/210710171112971120.mp4 -lavfi "subtitles=/Users/lh/Downloads/zimu.srt :force_style='Alignment=2,MarginV=5'" -y /Users/lh/Downloads/output.mp4?

效果如下

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

6.11?播放網(wǎng)絡(luò)視頻并且設(shè)置窗口標(biāo)題為http stream

./ffplay -window_title "http stream" http://vfx.mtime.cn/Video/2021/07/10/mp4/210710171112971120.mp4

效果如下

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

6.12?ffplay播放網(wǎng)絡(luò)視頻并且強(qiáng)制解碼器

./ffplay -vcodec h264 -window_title ?"http stream" http://vfx.mtime.cn/Video/2021/07/10/mp4/210710171112971120.mp4

強(qiáng)制解碼器為h264

效果如下

6.13?ffplay播放網(wǎng)絡(luò)視頻并且旋轉(zhuǎn)視頻?

./ffplay ? -window_title ?"http stream" http://vfx.mtime.cn/Video/2021/07/10/mp4/210710171112971120.mp4 -vf transpose=1?

音視頻開發(fā)-ffmpeg介紹-系列一,音視頻,ffmpeg

6.14?ffplay播放網(wǎng)絡(luò)視頻并且僅音頻變速

?./ffplay ? -window_title? "http stream" http://vfx.mtime.cn/Video/2021/07/10/mp4/210710171112971120.mp4? -af atempo=2

6.15?ffplay播放網(wǎng)絡(luò)視頻并且僅視頻變速

./ffplay ? -window_title? "http stream" http://vfx.mtime.cn/Video/2021/07/10/mp4/210710171112971120.mp4 ? -vf setpts=PTS/2

6.16?ffplay播放網(wǎng)絡(luò)視頻并且音視頻同時(shí)變速

./ffplay ? -window_title? "http stream" http://vfx.mtime.cn/Video/2021/07/10/mp4/210710171112971120.mp4 ? -vf setpts=PTS/2 -af atempo=2

上述這個(gè)操作也就是我們經(jīng)常說的seek視頻

6.17?ffprobe以json格式顯示每個(gè)流的信息

./ffprobe -print_format json -show_streams ~/Downloads/out.mp4

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/lh/Downloads/out.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf60.10.100
  Duration: 00:00:00.12, start: 0.000000, bitrate: 12170 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1080 [SAR 1:1 DAR 1:1], 12110 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.22.100 libx264
    "streams": [
        {
            "index": 0,//多媒體的stream索引;
            "codec_name": "h264",
            "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
            "profile": "High",
            "codec_type": "video",  //多媒體類型,例如視頻包,音頻包等
            "codec_tag_string": "avc1",
            "codec_tag": "0x31637661",
            "width": 1080,
            "height": 1080,
            "coded_width": 1080,
            "coded_height": 1080,
            "closed_captions": 0,
            "film_grain": 0,
            "has_b_frames": 2,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "1:1",
            "pix_fmt": "yuvj420p",
            "level": 32,
            "color_range": "pc",
            "color_space": "bt470bg",
            "chroma_location": "center",
            "field_order": "progressive",
            "refs": 1,
            "is_avc": "true",
            "nal_length_size": "4",
            "id": "0x1",
            "r_frame_rate": "25/1",
            "avg_frame_rate": "25/1",
            "time_base": "1/12800",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 1536,
            "duration": "0.120000",
            "bit_rate": "12110800",
            "bits_per_raw_sample": "8",
            "nb_frames": "3",
            "extradata_size": 53,
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0
            },
            "tags": {
                "language": "und",
                "handler_name": "VideoHandler",
                "vendor_id": "[0][0][0][0]",
                "encoder": "Lavc60.22.100 libx264"
            }
        }
    ]
}

6.18?ffprobe以json格式顯示幀信息

./ffprobe -print_format json -show_frames ~/Downloads/out.mp4文章來源地址http://www.zghlxwxcb.cn/news/detail-601785.html

 "frames": [
        {
            "media_type": "video",
            "stream_index": 0,
            "key_frame": 1,
            "pts": 0,
            "pts_time": "0.000000",
            "pkt_dts": 0,
            "pkt_dts_time": "0.000000",
            "best_effort_timestamp": 0,
            "best_effort_timestamp_time": "0.000000",
            "pkt_duration": 512,
            "pkt_duration_time": "0.040000",
            "duration": 512,
            "duration_time": "0.040000",
            "pkt_pos": "48",
            "pkt_size": "112313",
            "width": 1080,
            "height": 1080,
            "crop_top": 0,
            "crop_bottom": 0,
            "crop_left": 0,
            "crop_right": 0,
            "pix_fmt": "yuvj420p",
            "sample_aspect_ratio": "1:1",
            "pict_type": "I",
            "coded_picture_number": 0,
            "display_picture_number": 0,
            "interlaced_frame": 0,
            "top_field_first": 0,
            "repeat_pict": 0,
            "color_range": "pc",
            "color_space": "bt470bg",
            "chroma_location": "center",
            "side_data_list": [
                {
                    "side_data_type": "H.26[45] User Data Unregistered SEI message"
                }
            ]
        },
        {
            "media_type": "video",
            "stream_index": 0,
            "key_frame": 0,
            "pts": 512,
            "pts_time": "0.040000",
            "best_effort_timestamp": 512,
            "best_effort_timestamp_time": "0.040000",
            "pkt_duration": 512,
            "pkt_duration_time": "0.040000",
            "duration": 512,
            "duration_time": "0.040000",
            "pkt_pos": "112361",
            "pkt_size": "35468",
            "width": 1080,
            "height": 1080,
            "crop_top": 0,
            "crop_bottom": 0,
            "crop_left": 0,
            "crop_right": 0,
            "pix_fmt": "yuvj420p",
            "sample_aspect_ratio": "1:1",
            "pict_type": "P",
            "coded_picture_number": 1,
            "display_picture_number": 0,
            "interlaced_frame": 0,
            "top_field_first": 0,
            "repeat_pict": 0,
            "color_range": "pc",
            "color_space": "bt470bg",
            "chroma_location": "center"
        },
        {
            "media_type": "video",
            "stream_index": 0,
            "key_frame": 0,
            "pts": 1024,
            "pts_time": "0.080000",
            "best_effort_timestamp": 1024,
            "best_effort_timestamp_time": "0.080000",
            "pkt_duration": 512,
            "pkt_duration_time": "0.040000",
            "duration": 512,
            "duration_time": "0.040000",
            "pkt_pos": "147829",
            "pkt_size": "33881",
            "width": 1080,
            "height": 1080,
            "crop_top": 0,
            "crop_bottom": 0,
            "crop_left": 0,
            "crop_right": 0,
            "pix_fmt": "yuvj420p",
            "sample_aspect_ratio": "1:1",
            "pict_type": "P",
            "coded_picture_number": 2,
            "display_picture_number": 0,
            "interlaced_frame": 0,
            "top_field_first": 0,
            "repeat_pict": 0,
            "color_range": "pc",
            "color_space": "bt470bg",
            "chroma_location": "center"
        }
    ]
}

到了這里,關(guān)于音視頻開發(fā)-ffmpeg介紹-系列一的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 音視頻八股文(6)-- ffmpeg大體介紹和內(nèi)存模型

    音視頻八股文(6)-- ffmpeg大體介紹和內(nèi)存模型

    ? 容器/文件(Conainer/File):即特定格式的多媒體文件, 比如mp4、flv、mkv等。 ? 媒體流(Stream):表示時(shí)間軸上的一段連續(xù)數(shù)據(jù),如一 段聲音數(shù)據(jù)、一段視頻數(shù)據(jù)或一段字幕數(shù)據(jù),可以是壓縮 的,也可以是非壓縮的,壓縮的數(shù)據(jù)需要關(guān)聯(lián)特定的編解 碼器(有些碼流音頻

    2023年04月27日
    瀏覽(23)
  • 玩賺音視頻開發(fā)高階技術(shù)——FFmpeg

    玩賺音視頻開發(fā)高階技術(shù)——FFmpeg

    隨著移動(dòng)互聯(lián)網(wǎng)的普及,人們對(duì)音視頻內(nèi)容的需求也不斷增加。無論是社交媒體平臺(tái)、電商平臺(tái)還是在線教育,都離不開音視頻的應(yīng)用。這就為音視頻開發(fā)人員提供了廣闊的就業(yè)機(jī)會(huì)。根據(jù)這些年來網(wǎng)站上的音視頻開發(fā)招聘需求來看,音視頻開發(fā)人員的需求量大,且薪資待遇

    2024年02月13日
    瀏覽(29)
  • 【音視頻處理】基礎(chǔ)框架介紹,F(xiàn)Fmpeg、GStreamer、OpenCV、OpenGL

    【音視頻處理】基礎(chǔ)框架介紹,F(xiàn)Fmpeg、GStreamer、OpenCV、OpenGL

    大家好,歡迎來到停止重構(gòu)的頻道。? 本期我們介紹 音視頻處理的基礎(chǔ)框架 。 包括FFmpeg、GStreamer、OpenCV、OpenGL 。 我們按這樣的分類介紹 : 1、編解碼處理:FFmpeg、GStreamer 2、圖像分析:OpenCV 3、復(fù)雜圖像生成:OpenGL 首先是編解碼處理的基礎(chǔ)框架,這類基礎(chǔ)框架的 應(yīng)用場(chǎng)景

    2024年02月08日
    瀏覽(49)
  • Qt音視頻開發(fā)38-ffmpeg視頻暫停錄制的設(shè)計(jì)

    Qt音視頻開發(fā)38-ffmpeg視頻暫停錄制的設(shè)計(jì)

    基本上各種播放器提供的錄制視頻接口,都是只有開始錄制和結(jié)束錄制兩個(gè),當(dāng)然一般用的最多的也是這兩個(gè)接口,但是實(shí)際使用過程中,還有一種可能需要中途暫停錄制,暫停以后再次繼續(xù)錄制,將中間部分視頻不需要錄制,跳過這部分不需要的視頻,而且錄制的視頻文件

    2023年04月20日
    瀏覽(25)
  • 【音視頻流媒體】 3、ffmpeg、ffplay、ffprobe 超詳細(xì)介紹

    【音視頻流媒體】 3、ffmpeg、ffplay、ffprobe 超詳細(xì)介紹

    ffmpeg中文文檔 常見測(cè)試視頻 ffmpeg 大神筆記 ffmpeg 的 release 是 Linux Static Build ,即靜態(tài)庫(各庫已被打包到可執(zhí)行程序中),而不是動(dòng)態(tài)鏈接庫(共享機(jī)器上的 so),所以非常方便部署(sqlite 也是這樣),這是ffmpeg官網(wǎng)下載地址 rtsp-simple-server用法 注意,該命令會(huì)找時(shí)間點(diǎn)附近

    2024年02月08日
    瀏覽(93)
  • 音視頻處理 ffmpeg中級(jí)開發(fā) H264編碼

    音視頻處理 ffmpeg中級(jí)開發(fā) H264編碼

    libavcodec/avcodec.h 常用的數(shù)據(jù)結(jié)構(gòu) AVCodec 編碼器結(jié)構(gòu)體 AVCodecContext 編碼器上下文 AVFrame 解碼后的幀 結(jié)構(gòu)體內(nèi)存的分配和釋放 av_frame_alloc 申請(qǐng) av_frame_free() 釋放 avcodec_alloc_context3() 創(chuàng)建編碼器上下文 avcodec_free_context() 釋放編碼器上下文 解碼步驟 avcodec_find_decoder 查找解碼器 avcod

    2024年02月01日
    瀏覽(109)
  • 音視頻開發(fā)實(shí)戰(zhàn)03-FFmpeg命令行工具移植

    音視頻開發(fā)實(shí)戰(zhàn)03-FFmpeg命令行工具移植

    作為一個(gè)音視頻開發(fā)者,在日常工作中經(jīng)常會(huì)使用ffmpeg 命令來做很多事比如轉(zhuǎn)碼 ffmpeg -y -i test.mov -g 150 -s 1280x720 -codec libx265 -r 25 test_h265.mp4 ,水平翻轉(zhuǎn)視頻: ffmpeg -i src.mp4 -vf hflip -acodec copy -vcodec h264 -b 22000000 out.mp4 ,視頻截?。?ffmpeg -i input.wmv -ss 00:00:30.0 -c copy -t 00:00:10.0 ou

    2024年02月16日
    瀏覽(31)
  • FFMPEG開發(fā)快速入坑——附錄一:音視頻同步

    FFMPEG開發(fā)快速入坑——附錄一:音視頻同步

    本章節(jié)主要以本地音視頻播放為例,簡(jiǎn)要描述講解一個(gè)基本的播放器中,音視頻播放如何實(shí)現(xiàn)同步的。 通用媒體播放器框架 其中各個(gè)組件模塊: 1、Media Demux: 進(jìn)行媒體文件的解析,分別解析出音頻流數(shù)據(jù)包和視頻流數(shù)據(jù)包。主要使用? libavformat 庫中的函數(shù)。 2、Video Decoder:

    2024年01月19日
    瀏覽(27)
  • Qt音視頻開發(fā)40-ffmpeg采集桌面并錄制

    之前用ffmpeg打通了各種視頻文件和視頻流以及本地?cái)z像頭設(shè)備的采集,近期有個(gè)客戶需求要求將整個(gè)桌面屏幕采集下來,并可以錄制保存成MP4文件,以前也遇到過類似的需求,由于沒有搞過,也沒有精力去摸索和測(cè)試,所以也就一直耽擱著,近期剛好這個(gè)需求又來了,定下心

    2023年04月25日
    瀏覽(21)
  • 音視頻開發(fā)三:Windows環(huán)境下FFmpeg編譯安裝

    音視頻開發(fā)三:Windows環(huán)境下FFmpeg編譯安裝

    FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的 開源計(jì)算機(jī)程序 。采用LGPL或GPL許可證 。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼庫libavcodec。 FFmpeg在Linux平臺(tái)下開發(fā),但它同樣也可以在其它操作系統(tǒng)環(huán)

    2024年02月04日
    瀏覽(39)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包