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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

FFmpeg再学习 -- Windows下安装说明

發(fā)布時(shí)間:2025/3/15 windows 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FFmpeg再学习 -- Windows下安装说明 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

看了半晌 雷霄驊 的 ffmpeg 的視頻。待續(xù)稍后總結(jié)。

一、FFmpeg 簡介

FFmpeg 是一個(gè)開源免費(fèi)跨平臺(tái)的視頻和音頻流方案,屬于自由軟件,采用 LGPL 或GPL 許可證(依據(jù)你選擇的組件)。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼庫 libavcodec,為了保證高可移植性和編解碼質(zhì)量, libavcodec 里很多 codec 都是從頭開發(fā)的。
ffmpeg 項(xiàng)目由以下幾部分組成:
1、ffmpeg 視頻文件轉(zhuǎn)換命令行工具,也支持經(jīng)過實(shí)時(shí)電視卡抓取和編碼成視頻文
件.
2、ffserver 基于 HTTP、 RTSP 用于實(shí)時(shí)廣播的多媒體服務(wù)器.也支持時(shí)間平移
3、ffplay 用 SDL 和 FFmpeg 庫開發(fā)的一個(gè)簡單的媒體播放器
4、libavcodec 一個(gè)包含了所有 FFmpeg 音視頻編解碼器的庫.為了保證最優(yōu)性能和高可復(fù)用性,大多數(shù)編解碼器從頭開發(fā)的.
5、libavformat 一個(gè)包含了所有的普通音視格式的解析器和產(chǎn)生器的庫

更多部分

參看:ffmpeg Documentation

二、下載安裝 FFmpeg

下載:Download FFmpeg for Windows? ? ? 解壓后即可使用

該網(wǎng)站中的FFMPEG分為3個(gè)版本:Static,Shared,Dev。

前兩個(gè)版本可以直接在命令行中使用,他們的區(qū)別在于:

Static里面只有3個(gè)應(yīng)用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe,每個(gè)exe的體積都很大,相關(guān)的Dll已經(jīng)被編譯到exe里面去了。

Shared里面除了3個(gè)應(yīng)用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe之外,還有一些Dll,比如說avcodec-54.dll之類的。Shared里面的exe體積很小,他們?cè)谶\(yùn)行的時(shí)候,到相應(yīng)的Dll中調(diào)用功能。

Dev版本是用于開發(fā)的,里面包含了庫文件xxx.lib以及頭文件xxx.h,這個(gè)版本不包含exe文件。打開系統(tǒng)命令行接面,切換到ffmpeg所在的目錄,就可以使用這3個(gè)應(yīng)用程序了。

也可以參看下面的鏈接下個(gè)之前的版本。

下載:Index of /builds/win32/static/
下載:Index of /builds/win32/shared/ 下載:Index of /builds/win32/dev/

三、使用

將下載完的軟件包解壓在任意盤中,然后重命名為 ffmpeg。比如存放在 F 盤。

第一、進(jìn)入進(jìn)入DOS操作界面

按 WIN + R 鍵進(jìn)入運(yùn)行界面;輸入 cmd,進(jìn)入 DOS 界面。



第二、進(jìn)入 F 盤中的 ffmpeg\bin文件夾

輸入 F: 回車,進(jìn)入 F 盤;然后 cd ffmepg\bin 即進(jìn)入該文件夾。


其中DOS指令令和shell指令對(duì)比,參看: UNIX For DOS Users

基本的DOS命令
最關(guān)鍵命令
打開指定文件夾命令 cd {文件路徑}
切換到上一級(jí)文件夾 cd ..
切換到當(dāng)前目錄下名為xxx的文件夾 cd xxx
改變當(dāng)前盤符命令 c:
其他命令
查看目錄內(nèi)容命令 dir
創(chuàng)建目錄命令 md
文件復(fù)制命令 copy
刪除文件命令 del
清除屏幕命令 cls
Windows系統(tǒng)提供的額外命令
例如ping, ipconfig等等

第三、測試

命令行中輸入ffmpeg.exe,查看彈出的信息。(當(dāng)然也可以不寫后綴 .exe )

F:\ffmpeg\bin>ffmpeg ffmpeg version N-86625-gbbaca6e Copyright (c) 2000-2017 the FFmpeg developersbuilt with gcc 7.1.0 (GCC)configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zliblibavutil 55. 66.100 / 55. 66.100libavcodec 57. 99.102 / 57. 99.102libavformat 57. 75.100 / 57. 75.100libavdevice 57. 7.100 / 57. 7.100libavfilter 6. 94.100 / 6. 94.100libswscale 4. 7.101 / 4. 7.101libswresample 2. 8.100 / 2. 8.100libpostproc 54. 6.100 / 54. 6.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...Use -h to get full help or, even better, run 'man ffmpeg'

測試指令 利用mpeg4編碼方式

使用指令 ffmpeg -f image2 -i %02d.jpg -vcodec mpeg4 -s 1920x1080 multi_jpg3.mp4 ?
F:\ffmpegbin>ffmpeg -f image2 -i %02d.jpg -vcodec mpeg4 -s 1920x1080 multi_jpg3.mp4 ffmpeg version N-86625-gbbaca6e Copyright (c) 2000-2017 the FFmpeg developersbuilt with gcc 7.1.0 (GCC)configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zliblibavutil 55. 66.100 / 55. 66.100libavcodec 57. 99.102 / 57. 99.102libavformat 57. 75.100 / 57. 75.100libavdevice 57. 7.100 / 57. 7.100libavfilter 6. 94.100 / 6. 94.100libswscale 4. 7.101 / 4. 7.101libswresample 2. 8.100 / 2. 8.100libpostproc 54. 6.100 / 54. 6.100 Input #0, image2, from '%02d.jpg':Duration: 00:00:03.16, start: 0.000000, bitrate: N/AStream #0:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 5184x3456, 25 tbr, 25 tbn, 25 tbc File 'multi_jpg3.mp4' already exists. Overwrite ? [y/N] y Stream mapping:Stream #0:0 -> #0:0 (mjpeg (native) -> mpeg4 (native)) Press [q] to stop, [?] for help [swscaler @ 000000000250a960] deprecated pixel format used, make sure you did set range correctly Output #0, mp4, to 'multi_jpg3.mp4':Metadata:encoder : Lavf57.75.100Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 1920x1080, q=2-31, 200 kb/s, 25 fps, 12800 tbn, 25 tbcMetadata:encoder : Lavc57.99.102 mpeg4Side data:cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1 [swscaler @ 0000000006f100a0] deprecated pixel format used, make sure you did set range correctlyLast message repeated 1 times [swscaler @ 0000000006f100a0] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0000000006f100a0] deprecated pixel format used, make sure you did set range correctly frame= 79 fps=4.0 q=24.8 Lsize= 4507kB time=00:00:03.12 bitrate=11833.3kbits/s speed=0.157x video:4505kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.033575%

當(dāng)然也可以使用 bat 腳本來實(shí)現(xiàn)

新建一個(gè)記事本文件 新建文本文檔 .txt,將其改為 ffmpeg.bat 即 bat 腳本。

然后編輯,比如 ffmpeg -i input.avi -b:v 640k output.ts ?保存。

然后點(diǎn)擊?ffmpeg.bat 即可跳轉(zhuǎn)到 DOS 界面執(zhí)行。

當(dāng)然可能有局限性,比如上面那個(gè)例子我在腳本上就無法執(zhí)行,現(xiàn)在還沒有找到原因。


再舉一個(gè)有意思的例子,將MP4轉(zhuǎn)換成gif格式

ffmpeg -ss 00:00:00.000 -i haituoshan.mp4 -pix_fmt rgb24 -r 10 -s 1920x1080 -t 00:00:3.000 output.gif

說明:將輸入的文件從(-ss)設(shè)定的時(shí)間開始以10幀頻率,輸出到1920x1080大小的 gif 中,時(shí)間長度為-t 設(shè)定的參數(shù)。通過這樣轉(zhuǎn)換出來的 gif 一般都比較大,可以使用 ImageMagick 來優(yōu)化圖片的大小。

當(dāng)然你也可以使用圖片壓縮工具:在線圖片壓縮-在線圖片壓縮軟件



常用指令參看:

ffmpeg 入門?

FFmpeg實(shí)用命令

[FFmpeg] ffmpeg 常用命令

FFmpeg功能命令集合

wiki:Encode/H.264

wiki:Slideshow

ffmpeg 常用命令匯總

四、修改環(huán)境變量

點(diǎn)擊 計(jì)算機(jī)->屬性->高級(jí)系統(tǒng)設(shè)置->高級(jí)->環(huán)境變量

環(huán)境變量我們之前講過,參看:UNIX再學(xué)習(xí) -- 環(huán)境變量



將“用戶變量”中的 PATH 變量值改為你的 ffmpeg\bin 文件夾位置,點(diǎn)擊確定保存更改。


備份一下原來的變量值:

%CDSROOT%\openaccess\bin\win32\opt;%CDSROOT%\tools\capture;%CDSROOT%\tools\pspice;%CDSROOT%\tools\ specctra\bin;%CDSROOT%\tools\fet\bin;%CDSROOT%\tools\libutil\bin;%CDSROOT%\tools\bin;%CDSROOT%\ tools\pcb\bin;;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps

注意

如果在這個(gè)窗口輸入的內(nèi)容有誤,那么有可能會(huì)造成 Windows 無法正常啟動(dòng)。如果在"用戶變量"設(shè)置下沒有 PATH條目,點(diǎn)擊新建按鈕創(chuàng)建。在變量名欄輸入 PATH。

這個(gè)方法可以讓當(dāng)前用戶能夠使用 FFmpeg。其他 Windows 用戶不能夠使用。如果要使每個(gè)用戶都能夠使用,你需要在 "系統(tǒng)變量" 的PATH條目中添加你的 ffmpeg\bin 文件夾位置。注意不要夠刪除在變量中原來已有的內(nèi)容。

測試

修改前,無法運(yùn)行 ffmpeg?程序

修改后,可以運(yùn)行 ffmpeg 程序


五、VS 下 FFmpeg 開發(fā)環(huán)境搭建

參看:VS配置FFmpeg開發(fā)環(huán)境

首先下載相應(yīng)的 FFmpeg 開發(fā)包

下載:FFmpeg 配置,適用VS各版本

然后新建控制臺(tái)工程

打開 VS; 文件->新建->項(xiàng)目->Win32控制臺(tái)應(yīng)用程序,點(diǎn)擊完成。 注意,選擇的位置最好不要有 空格或者漢字。



拷貝 FFmpeg 開發(fā)文件

頭文件( *.h)拷貝至項(xiàng)目文件夾的include子文件夾下
導(dǎo)入庫文件( *.lib)拷貝至項(xiàng)目文件夾的lib子文件夾下
動(dòng)態(tài)庫文件( *.dll) 拷貝至項(xiàng)目文件夾下

點(diǎn)擊右鍵,選擇在資源管理器中打開文件夾,進(jìn)入項(xiàng)目目錄。 (注意,如果手動(dòng)進(jìn)入注意文件夾位置,我就是沒找好位置,試了半天最后才發(fā)現(xiàn),將上面的這些文件拷貝到錯(cuò)誤的文件夾下了)

PS:如果直接使用官網(wǎng)上下載的 FFmpeg 開發(fā)文件。則可能還需要將 MinGW 安裝目錄中的 inttypes.h, stdint.h, _mingw.h 三個(gè)文件拷貝至項(xiàng)目文件夾的 include 子文件夾下。
上面的下載配置可是沒有這三個(gè)文件的,如需要下載:小練習(xí)-FFmpeg配置

配置開發(fā)文件

打開屬性面板

解決方案資源管理器->右鍵單擊項(xiàng)目->屬性

頭文件配置

配置屬性->C/C++->常規(guī)->附加包含目錄,輸入“ include”(剛才拷貝頭文件的目錄)

導(dǎo)入庫配置

配置屬性->鏈接器->常規(guī)->附加庫目錄,輸入“ lib” (剛才拷貝庫文件的目錄)
配置屬性->鏈接器->輸入->附加依賴項(xiàng),輸入“ avcodec.lib; avformat.lib; avutil.lib; avdevice.lib; avfilter.lib; postproc.lib; swresample.lib; swscale.lib”(導(dǎo)入庫的文件名)

動(dòng)態(tài)庫不用配置

測試

將 FFmpeg.cpp 添加測試代碼,改為如下: // FFmpeg.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。 //#include "stdafx.h" #define __STDC_CONSTANT_MACROSextern "C" { #include "libavcodec/avcodec.h" };int main() {printf("%s", avcodec_configuration());return 0; }打斷點(diǎn),如果不打斷點(diǎn),調(diào)試的時(shí)候一閃而過什么也看不到的。 在return 0; 左邊點(diǎn)擊一下,出現(xiàn)紅點(diǎn),即為斷點(diǎn)。
然后點(diǎn)擊本地Windows調(diào)試器,出現(xiàn)此項(xiàng)目已經(jīng)過期,選擇 是。


可看到出現(xiàn)結(jié)果,說明FFmpeg配置成功。

六、問題分析

有時(shí)調(diào)試時(shí)會(huì)出現(xiàn)版本不一致的問題.
查看項(xiàng)目Windows SDK 版本為 8.1?
解決方法: 下載并安裝:Windows Software Development Kit (SDK) for Windows 8.1

錯(cuò)誤 MSB8036 ?找不到 Windows SDK 版本10.0.16299.0。

下載并安裝:

Windows SDK (ver. 10.0.16299.91) and Microsoft Emulator for Windows?10 mobile (ver. 15254.1)



七、示例演示

參看:利用FFmpeg將Jpeg圖片轉(zhuǎn)為任意視頻容器格式 在一些嵌入式系統(tǒng)中,視頻以 jpeg 圖像格式傳出來,而且數(shù)據(jù)量非常大。這種情況下如果要對(duì) jpeg 圖像進(jìn)行解碼并且重新編碼成 264 之類的格式再放入視頻容器中會(huì)消耗大量的 CPU 資源,若不是性能特別犀利的 CPU 是無法承受的,這個(gè)時(shí)候有一個(gè)折衷的辦法,就是直接將jpeg連續(xù)保存起來(也就是保存成 mjpeg 視頻格式),然后直接放入視頻容器中。
這就話就解釋了,為什么要用保存成 mjpeg。因?yàn)槌汕先f張圖片通過 264 編碼確實(shí)好慢。 下面是相關(guān)的源碼: #include <stdio.h> #include "stdafx.h"extern "C"//包含C文件頭 { #include "libavformat/avformat.h" }; #define DATASIZE 1024*1024AVStream *add_vidio_stream(AVFormatContext *oc, enum AVCodecID codec_id)//用以初始化一個(gè)用于輸出的AVFormatContext結(jié)構(gòu)體 {AVStream *st;AVCodec *codec;st = avformat_new_stream(oc, NULL);if (!st){printf("Could not alloc stream\n");exit(1);}codec = avcodec_find_encoder(codec_id);//查找mjpeg解碼器if (!codec){printf("codec not found\n");exit(1);}avcodec_get_context_defaults3(st->codec, codec);//申請(qǐng)AVStream->codec(AVCodecContext對(duì)象)空間并設(shè)置默認(rèn)值(由avcodec_get_context_defaults3()設(shè)置st->codec->bit_rate = 400000;//設(shè)置采樣參數(shù),即比特率 st->codec->width = 1080;//設(shè)置視頻寬高,這里跟圖片的寬高保存一致即可st->codec->height = 1800;st->codec->time_base.den = 10;//設(shè)置幀率st->codec->time_base.num = 1;st->codec->pix_fmt = PIX_FMT_YUV420P;//設(shè)置像素格式 st->codec->codec_tag = 0;if (oc->oformat->flags & AVFMT_GLOBALHEADER)//一些格式需要視頻流數(shù)據(jù)頭分開st->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;return st; }void main() {AVFormatContext *ofmt_ctx = NULL;//其包含碼流參數(shù)較多,是一個(gè)貫穿始終的數(shù)據(jù)結(jié)構(gòu),很多函數(shù)都要用到它作為參數(shù)const char *out_filename = "out.mkv";//輸出文件路徑,在這里也可以將mkv改成別的ffmpeg支持的格式,如mp4,flv,avi之類的int ret;//返回標(biāo)志av_register_all();//初始化解碼器和復(fù)用器avformat_alloc_output_context2(&ofmt_ctx, NULL, NULL, out_filename);//初始化一個(gè)用于輸出的AVFormatContext結(jié)構(gòu)體,視頻幀率和寬高在此函數(shù)里面設(shè)置if (!ofmt_ctx){printf("Could not create output context\n");return;}AVStream *out_stream = add_vidio_stream(ofmt_ctx, AV_CODEC_ID_MJPEG);//創(chuàng)造輸出視頻流av_dump_format(ofmt_ctx, 0, out_filename, 1);//該函數(shù)會(huì)打印出視頻流的信息,如果看著不開心可以不要if (!(ofmt_ctx->oformat->flags & AVFMT_NOFILE))//打開輸出視頻文件{ret = avio_open(&ofmt_ctx->pb, out_filename, AVIO_FLAG_WRITE);if (ret < 0) {printf("Could not open output file '%s'", out_filename);return;}}if (avformat_write_header(ofmt_ctx, NULL) < 0)//寫文件頭(Write file header){printf("Error occurred when opening output file\n");return;}int frame_index = 0;//放入視頻的圖像計(jì)數(shù)unsigned char *mydata = new unsigned char[DATASIZE];AVPacket pkt;av_init_packet(&pkt);pkt.flags |= AV_PKT_FLAG_KEY;pkt.stream_index = out_stream->index;//獲取視頻信息,為壓入幀圖像做準(zhǔn)備while (frame_index<100)//將圖像壓入視頻中{FILE *file;//打開一張jpeg圖像并讀取其數(shù)據(jù),在這里圖像最大為1M,如果超過1M,則需要修改1024*1024這里fopen_s(&file, "1.jpg", "rb");pkt.size = fread(mydata, 1, DATASIZE, file);pkt.data = mydata;fclose(file);if (av_interleaved_write_frame(ofmt_ctx, &pkt) < 0) //寫入圖像到視頻{printf("Error muxing packet\n");break;}printf("Write %8d frames to output file\n", frame_index);//打印出當(dāng)前壓入的幀數(shù)frame_index++;}av_free_packet(&pkt);//釋放掉幀數(shù)據(jù)包對(duì)象av_write_trailer(ofmt_ctx);//寫文件尾(Write file trailer)delete[]mydata;//釋放數(shù)據(jù)對(duì)象if (ofmt_ctx && !(ofmt_ctx->oformat->flags & AVFMT_NOFILE))avio_close(ofmt_ctx->pb);//關(guān)閉視頻文件avformat_free_context(ofmt_ctx);//釋放輸出視頻相關(guān)數(shù)據(jù)結(jié)構(gòu)return; }這是我寫的工程文件:FFmpeg 工程文件 (PS:參看博文里的工程文件,反正我調(diào)式是一直失敗的,不過源碼還是值得參考的)。
執(zhí)行結(jié)果生成 out.mkv 視頻

思考,上面實(shí)現(xiàn)的是將一張圖片循環(huán)100次。如果是有編號(hào)順序的圖片呢
例如,將編號(hào)從 0001~1000 的圖片轉(zhuǎn)為視頻。 使用 sprintf 將圖片名寫入字符串,然后使用 fopen_s 打開。 char bufName[50];int i = 0;for (i=1;i<=1000;i++)//while (frame_index<100)//將圖像壓入視頻中{sprintf(bufName, "%04d.jpg", i);printf("%s\n",bufName);FILE *file;//打開一張jpeg圖像并讀取其數(shù)據(jù),在這里圖像最大為1M,如果超過1M,則需要修改1024*1024這里fopen_s(&file, bufName, "rb");pkt.size = fread(mydata, 1, DATASIZE, file);pkt.data = mydata;fclose(file);if (av_interleaved_write_frame(ofmt_ctx, &pkt) < 0) //寫入圖像到視頻{printf("Error muxing packet\n");break;}//printf("Write %8d frames to output file\n", frame_index);//打印出當(dāng)前壓入的幀數(shù)//frame_index++;}根據(jù)實(shí)際情況修改 DATASIZE ,應(yīng)超過圖片大小的最大值。 #define DATASIZE 1024*1024*50 然后,還要根據(jù)實(shí)際情況修改圖片的參數(shù)信息。 st->codec->bit_rate = 400000;//設(shè)置采樣參數(shù),即比特率 st->codec->width = 5184;//設(shè)置視頻寬高,這里跟圖片的寬高保存一致即可st->codec->height = 3456;st->codec->time_base.den = 2;//設(shè)置幀率st->codec->time_base.num = 1; 到此就 OK,即可調(diào)式生成視頻。

八、總結(jié)

用時(shí)一天半,終于把 FFmpeg 在 Windows 下的操作總結(jié)清楚了。說實(shí)話一開始對(duì)于 DOS 命令、VS 創(chuàng)建項(xiàng)目等都是不熟的,再將遇到的問題逐一解決,總的來說收獲挺多的。期間 FFmpeg 測試的時(shí)候,將圖片或視頻轉(zhuǎn)為 gif,也是挺有意思。我的微信公眾號(hào)又要有的新內(nèi)容了 哈哈。

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的FFmpeg再学习 -- Windows下安装说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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