日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

FFmpeg示例程序合集-批量编译脚本

發(fā)布時(shí)間:2023/12/13 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FFmpeg示例程序合集-批量编译脚本 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
此前做了一系列有關(guān)FFmpeg的示例程序,組成了《 最簡(jiǎn)單的FFmpeg示例程序合集》,其中包含了如下項(xiàng)目:
simplest ffmpeg player: ? ? ? ? ? ? ? ? ?最簡(jiǎn)單的基于FFmpeg的視頻播放器
simplest ffmpeg audio player: ? ? ? 最簡(jiǎn)單的基于FFmpeg的音頻播放器
simplest ffmpeg pic encoder: ? ? ? ?最簡(jiǎn)單的基于FFmpeg的圖像編碼器
simplest ffmpeg video encoder: ? ?最簡(jiǎn)單的基于FFmpeg的視頻編碼器
simplest ffmpeg audio encoder: ? 最簡(jiǎn)單的基于FFmpeg的音頻編碼器
simplest ffmpeg streamer: ? ? ? ? ? ? 最簡(jiǎn)單的基于FFmpeg的推流器(推送RTMP)
simplest ffmpeg mem handler: ? ? 最簡(jiǎn)單的基于FFmpeg的內(nèi)存讀寫(xiě)例子
simplest ffmpeg device: ? ? ? ? ? ? ? ? 最簡(jiǎn)單的基于FFmpeg的AVDevice例子
simplest ffmpeg format: ? ? ? ? ? ? ? ? 最簡(jiǎn)單的基于FFmpeg的封裝格式方面的例子
simplest ffmpeg video filter: ? ? ? ? ?最簡(jiǎn)單的基于FFmpeg的AVfilter例子(水印疊加)
simplest ffmpeg swscale: ? ? ? ? ? ? 最簡(jiǎn)單的基于FFmpeg的libswscale的示例
?
開(kāi)始的時(shí)候,我只是在VC2010下調(diào)試通過(guò)了這些程序。去年就有不少朋友跟我提建議希望能把代碼改成跨平臺(tái)的。后來(lái)我調(diào)查了一下也發(fā)現(xiàn)FFmpeg確實(shí)在各個(gè)平臺(tái)都有廣泛的應(yīng)用,因此也產(chǎn)生了把代碼改成跨平臺(tái)的意愿。但是改成跨平臺(tái)代碼的工作量比較大,所以一直也沒(méi)有做出實(shí)際行動(dòng)。今年春節(jié)前夕可算是得到了一陣相對(duì)自由的時(shí)間,于是果斷進(jìn)行了一陣子“連續(xù)戰(zhàn)斗”,終于實(shí)現(xiàn)了這些工程在VC++,cl.exe,MinGW,Linux GCC以及MacOS GCC上面順利的編譯。在這個(gè)過(guò)程中,也寫(xiě)了各種編譯器的編譯腳本,在這里記錄一下。
本文記錄以下幾種編譯腳本:
VC++:simplest_ffmpeg_demos_compile_devenv_all.bat
CL.exe:simplest_ffmpeg_demos_compile_cl_all.bat
MinGW:simplest_ffmpeg_demos_compile_mingw_all.sh
GCC (Linux/MacOS):simplest_ffmpeg_demos_compile_gcc_all.sh

? ? ? ???? ? ? ? ? ? ?? ? ? ? ? ?

下載地址:
【Github】 https://github.com/leixiaohua1020/leixiaohua1020.github.io/tree/master/batch

?

準(zhǔn)備工作

在記錄具體的編譯腳本之前,首先簡(jiǎn)單記錄一下在不同平臺(tái)下編譯這些FFmpeg工程需要做的準(zhǔn)備工作。注意這一步驟針對(duì)的是一臺(tái)完全空白未做任何配置的“裸機(jī)”。如果已經(jīng)編譯安裝過(guò)FFmpeg,就可以直接跳過(guò)這一步驟。

PS:一些示例程序需要安裝SDL2,方法類(lèi)似,不再記錄。

VC++

VC++的編譯是最簡(jiǎn)單的,相關(guān)的include和lib都已經(jīng)配置好了,可以直接編譯運(yùn)行。

CL.exe

基本上等同于使用VC++編譯,可以直接編譯運(yùn)行。

MinGW

兩種方法:直接安裝和源代碼編譯

直接安裝

(1)從FFmpeg Windows Build (http://ffmpeg.zeranoe.com/) 網(wǎng)站下載最新的shared 和dev版本的FFmpeg。

(2)在Msys安裝目錄下創(chuàng)建“l(fā)ocal”文件夾,“l(fā)ocal”文件夾下創(chuàng)建“include”和“l(fā)ib”文件夾。

(3)將FFmpeg的dev版本下的include拷貝至{msys}/local/include;lib拷貝至{msys}/local/lib。

(4)將FFmpeg的shared版本下的Dll拷貝至{mingw}/bin。

源代碼編譯

(1)安裝Yasm

從官網(wǎng)下載yasmXXX.exe,然后重命名為yasm.exe,拷貝至{mingw}/bin

PS:也可以下載源代碼自己編譯,稍微麻煩些,不再記錄。

(2)編譯安裝SDL

PS:注意SDL的安裝路徑如果沒(méi)有安裝在{msys}/local目錄下的話,configure的時(shí)候設(shè)置一下。

(3)編譯安裝libx264

(3)編譯安裝libfaac

(4)編譯安裝FFmpeg

[plain] view plaincopy
  • ./configure?--enable-shared?--enable-libfaac?--enable-libx264?--enable-gpl?--enable-nonfree??
  • make??
  • make?install??

  • Linux

    (0)前期準(zhǔn)備

    某些Linux沒(méi)有安裝gcc/g++,需要先安裝gcc/g++

    進(jìn)入超級(jí)管理員“su”

    (1)安裝相關(guān)的類(lèi)庫(kù)

    [Debian/Ubuntu]

    [plain] view plaincopy
  • apt-get?-y?install?yasm?libfaac-dev?libx264-dev?libsdl1.2-dev??
  • PS:這些類(lèi)庫(kù)也可以下載源代碼手動(dòng)編譯,稍微麻煩些,不再記錄。

    [RedHat/Fedora/CentOS]

    需要手動(dòng)編譯每個(gè)類(lèi)庫(kù)

    (2)編譯安裝FFmpeg

    [plain] view plaincopy
  • ./configure?--enable-shared?--enable-libfaac?--enable-libx264?--enable-gpl?--enable-nonfree??
  • make??
  • make?install??

  • MacOS

    兩種方法:直接安裝和源代碼編譯

    直接安裝

    (1)安裝Homebrew

    [plain] view plaincopy
  • ruby?-e?"$(curl?-fsSL?https://raw.githubusercontent.com/Homebrew/install/master/install)"??
  • (2)安裝FFmpeg

    [plain] view plaincopy
  • brew?install?ffmpeg??

  • 源代碼編譯

    (1)安裝Homebrew

    [plain] view plaincopy
  • ruby?-e?"$(curl?-fsSL?https://raw.githubusercontent.com/Homebrew/install/master/install)"??
  • (2)安裝相關(guān)的類(lèi)庫(kù)

    [plain] view plaincopy
  • brew?install?yasm?faac?x264?sdl??
  • (3)編譯安裝FFmpeg

    進(jìn)入超級(jí)管理員“su”

    [plain] view plaincopy
  • ./configure?--enable-shared?--enable-libfaac?--enable-libx264?--enable-gpl?--enable-nonfree??
  • make??
  • make?install??

  • VC++



    使用devenv.exe進(jìn)行編譯是最簡(jiǎn)單的一種命令行編譯方式。這種編譯方式和使用VC++代開(kāi)*.sln解決方案文件然后單擊“編譯”按鈕的效果是一樣的。由于項(xiàng)目解決方案中已經(jīng)做過(guò)了include,lib以及相關(guān)選項(xiàng)的設(shè)置,所以不需要做各種參數(shù)的配置。下面這條命令編譯Debug版本程序:
    [plain] view plaincopy
  • devenv.exe?simplest_ffmpeg_player2.sln?/rebuild?Debug??
  • 下面這條命令編譯生成Release版本程序,同時(shí)將編譯過(guò)程中的日志輸出到“sf_player_release_ compile_log.txt”文件中:
    [plain] view plaincopy
  • devenv.exe?simplest_ffmpeg_player2.sln?/rebuild?Release?/Out?sf_player_release_?compile_log.txt??
  • 使用devenv進(jìn)行編譯的時(shí)候,需要VC++運(yùn)行環(huán)境,有2種方法可以設(shè)置:
    (1) ? ? ? 批處理調(diào)用VC++設(shè)置環(huán)境的腳本,例如對(duì)于VC2010來(lái)說(shuō),位于“D:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat”
    (2) ? ? ? 在“Visual Studio 命令提示符”中運(yùn)行批處理(或者編譯命令)。“Visual Studio 命令提示符”位于伴隨著VC++安裝,位于“Visual Studio Tools”目錄下。
    ?
    完整的腳本simplest_ffmpeg_demos_compile_devenv_all.bat如下所示。將腳本拷貝至《最簡(jiǎn)單的FFmpeg示例程序合集》所在目錄運(yùn)行,就可以編譯所有項(xiàng)目的Release版本和Debug版本,并且輸出相關(guān)的編譯日志。
    ?
    [plain] view plaincopy
  • @echo?off??
  • echo?---------------------------------------------??
  • echo?simplest?ffmpeg?demos?list?----?Devenv?compile?all??
  • echo?Lei?Xiaohua??
  • echo?Communication?University?of?China?/?Digital?TV?Technology??
  • echo?leixiaohua1020@126.com??
  • echo?http://blog.csdn.net/leixiaohua1020??
  • echo?---------------------------------------------??
  • ???
  • set?logfile=compile_log.txt??
  • ::VS2010?Environment??
  • call?"D:\Program?Files\Microsoft?Visual?Studio?10.0\VC\vcvarsall.bat"??
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_player...??
  • cd?simplest_ffmpeg_player??
  • devenv.exe?simplest_ffmpeg_player2.sln?/rebuild?Debug?/Out?../sf_player_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_player2.sln?/rebuild?Release?/Out?../sf_player_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_audio_player...??
  • cd?simplest_ffmpeg_audio_player??
  • devenv.exe?simplest_ffmpeg_audio_player2.sln?/rebuild?Debug?/Out?../sf_audio_player_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_audio_player2.sln?/rebuild?Release?/Out?../sf_audio_player_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_picture_encoder...??
  • cd?simplest_ffmpeg_picture_encoder??
  • devenv.exe?simplest_ffmpeg_picture_encoder.sln?/rebuild?Debug?/Out?../sf_picture_encoder_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_picture_encoder.sln?/rebuild?Release?/Out?../sf_picture_encoder_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_video_encoder...??
  • cd?simplest_ffmpeg_video_encoder??
  • devenv.exe?simplest_ffmpeg_video_encoder.sln?/rebuild?Debug?/Out?../sf_video_encoder_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_video_encoder.sln?/rebuild?Release?/Out?../sf_video_encoder_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_audio_encoder...??
  • cd?simplest_ffmpeg_audio_encoder??
  • devenv.exe?simplest_ffmpeg_audio_encoder.sln?/rebuild?Debug?/Out?../sf_audio_encoder_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_audio_encoder.sln?/rebuild?Release?/Out?../sf_audio_encoder_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_streamer...??
  • cd?simplest_ffmpeg_streamer??
  • devenv.exe?simplest_ffmpeg_streamer.sln?/rebuild?Debug?/Out?../sf_streamer_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_streamer.sln?/rebuild?Release?/Out?../sf_streamer_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_mem_handler...??
  • cd?simplest_ffmpeg_mem_handler??
  • devenv.exe?simplest_ffmpeg_mem_handler.sln?/rebuild?Debug?/Out?../sf_mem_handler_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_mem_handler.sln?/rebuild?Release?/Out?../sf_mem_handler_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_device...??
  • cd?simplest_ffmpeg_device??
  • devenv.exe?simplest_ffmpeg_device.sln?/rebuild?Debug?/Out?../sf_device_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_device.sln?/rebuild?Release?/Out?../sf_device_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_format...??
  • cd?simplest_ffmpeg_format??
  • devenv.exe?simplest_ffmpeg_format.sln?/rebuild?Debug?/Out?../sf_format_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_format.sln?/rebuild?Release?/Out?../sf_format_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_video_filter...??
  • cd?simplest_ffmpeg_video_filter??
  • devenv.exe?simplest_ffmpeg_video_filter.sln?/rebuild?Debug?/Out?../sf_video_filter_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_video_filter.sln?/rebuild?Release?/Out?../sf_video_filter_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_swscale...??
  • cd?simplest_ffmpeg_swscale??
  • devenv.exe?simplest_ffmpeg_swscale.sln?/rebuild?Debug?/Out?../sf_swscale_debug_%logfile%??
  • devenv.exe?simplest_ffmpeg_swscale.sln?/rebuild?Release?/Out?../sf_swscale_release_%logfile%??
  • cd?..??
  • ???
  • ::=====================================================================================??

  • ?

    CL.exe



    cl.exe 是Microsoft C/C++編譯器,和GCC屬于同一個(gè)層面的東西。一個(gè)基本的調(diào)用cl.exe編譯的命令行如下所示:
    [plain] view plaincopy
  • cl.exe?helloworld.cpp??
  • 上述命令執(zhí)行完后即可在同一目錄下生成一個(gè)helloworld.exe的可執(zhí)行程序。
    編譯包含類(lèi)庫(kù)的程序相對(duì)來(lái)說(shuō)要復(fù)雜一些,下面以Simplest FFmpeg Player為例看一下它的編譯腳本。Simplest FFmpeg Player使用CL.exe編譯的腳本保存在“compile_cl.bat”文件中,如下所示。
    [plain] view plaincopy
  • ::最簡(jiǎn)單的基于FFmpeg的視頻播放器?2----命令行編譯??
  • ::Simplest?FFmpeg?Player?2----Compile?in?Cmd??
  • ::??
  • ::雷霄驊?Lei?Xiaohua??
  • ::leixiaohua1020@126.com??
  • ::中國(guó)傳媒大學(xué)/數(shù)字電視技術(shù)??
  • ::Communication?University?of?China?/?Digital?TV?Technology??
  • ::http://blog.csdn.net/leixiaohua1020??
  • ::??
  • ::VS2010?Environment??
  • call?"D:\Program?Files\Microsoft?Visual?Studio?10.0\VC\vcvarsall.bat"??
  • ::include??
  • @set?INCLUDE=include;%INCLUDE%??
  • ::lib??
  • @set?LIB=lib;%LIB%??
  • ::compile?and?link??
  • cl?simplest_ffmpeg_player.cpp?/MD?/link?SDL2.lib?SDL2main.lib?avcodec.lib?^??
  • avformat.lib?avutil.lib?avdevice.lib?avfilter.lib?postproc.lib?swresample.lib?swscale.lib?^??
  • /SUBSYSTEM:WINDOWS?/OPT:NOREF??
  • exit??

  • 這個(gè)腳本按照順序做了以下幾點(diǎn)工作:
    (1)設(shè)置VC++運(yùn)行環(huán)境。這一步通過(guò)call "D:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"實(shí)現(xiàn)。
    (2)設(shè)置include目錄。這一步設(shè)置FFmpeg以及SDL2的頭文件所在的目錄,通過(guò)修改include環(huán)境變量實(shí)現(xiàn)(在include環(huán)境變量前面加上項(xiàng)目文件夾中的“include”目錄)。
    (3)設(shè)置lib目錄。這一步設(shè)置FFmpeg以及SDL2的庫(kù)文件所在的目錄,通過(guò)修改lib環(huán)境變量實(shí)現(xiàn)(在lib環(huán)境變量前面加上項(xiàng)目文件夾中的“l(fā)ib”目錄)。
    (4) 編譯和鏈接。這一步用于將simplest_ffmpeg_player.cpp編譯生成simplest_ffmpeg_player.exe。在這里需要注意幾點(diǎn):
    a) 鏈接類(lèi)庫(kù)使用/link
    b) 使用SDL類(lèi)庫(kù)的時(shí)候,務(wù)必設(shè)置/MD選項(xiàng)(使用動(dòng)態(tài)鏈接的庫(kù))
    c) ?使用SDL類(lèi)庫(kù)的時(shí)候,務(wù)必設(shè)置/SUBSYSTEM:WINDOWS
    d) ?使用FFmpeg類(lèi)庫(kù)的時(shí)候,務(wù)必設(shè)置/OPT:NOREF 上述腳本運(yùn)行完城后,生成simplest_ffmpeg_player.exe。
    ?
    完整的腳本simplest_ffmpeg_demos_compile_cl_all.bat如下所示。將腳本拷貝至《最簡(jiǎn)單的FFmpeg示例程序合集》所在目錄運(yùn)行,就可以編譯所有的示例程序。注意這個(gè)腳本只是分別調(diào)用了各個(gè)程序目錄下的compile_cl.bat文件。
    ?
    [plain] view plaincopy
  • @echo?off??
  • echo?---------------------------------------------??
  • echo?simplest?ffmpeg?demos?list?----?CL?compile?all??
  • echo?Lei?Xiaohua??
  • echo?Communication?University?of?China?/?Digital?TV?Technology??
  • echo?leixiaohua1020@126.com??
  • echo?http://blog.csdn.net/leixiaohua1020??
  • echo?---------------------------------------------??
  • ::=====================================================================================??
  • ???
  • echo.??
  • echo?Compile?simplest_ffmpeg_player...??
  • cd?simplest_ffmpeg_player??
  • cd?simplest_ffmpeg_player??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?simplest_ffmpeg_player_su??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?simplest_ffmpeg_decoder_pure??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_audio_player...??
  • cd?simplest_ffmpeg_audio_player??
  • cd?simplest_ffmpeg_audio_player??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_picture_encoder...??
  • cd?simplest_ffmpeg_picture_encoder??
  • cd?simplest_ffmpeg_picture_encoder??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_video_encoder...??
  • cd?simplest_ffmpeg_video_encoder??
  • cd?simplest_ffmpeg_video_encoder??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?simplest_ffmpeg_video_encoder_pure??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_audio_encoder...??
  • cd?simplest_ffmpeg_audio_encoder??
  • cd?simplest_ffmpeg_audio_encoder??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_streamer...??
  • cd?simplest_ffmpeg_streamer??
  • cd?simplest_ffmpeg_streamer??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_mem_handler...??
  • cd?simplest_ffmpeg_mem_handler??
  • cd?simplest_ffmpeg_mem_player??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?simplest_ffmpeg_mem_transcoder??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_device...??
  • cd?simplest_ffmpeg_device??
  • cd?simplest_ffmpeg_grabdesktop??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?simplest_ffmpeg_readcamera??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_format...??
  • cd?simplest_ffmpeg_format??
  • cd?simplest_ffmpeg_demuxer??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?simplest_ffmpeg_demuxer_simple??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?simplest_ffmpeg_muxer??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?simplest_ffmpeg_remuxer??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_video_filter...??
  • cd?simplest_ffmpeg_video_filter??
  • cd?simplest_ffmpeg_video_filter??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??
  • echo.??
  • echo?Compile?simplest_ffmpeg_swscale...??
  • cd?simplest_ffmpeg_swscale??
  • cd?simplest_ffmpeg_swscale??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?simplest_pic_gen??
  • start?/wait?compile_cl.bat??
  • cd?..??
  • cd?..??
  • ???
  • ::=====================================================================================??


  • ?

    MinGW



    MinGW是Windows下的GCC/G++編譯器。使用MinGW編譯需要運(yùn)行其安裝目錄下的msys.bat設(shè)置其環(huán)境變量。一個(gè)基本的調(diào)用MinGW gcc編譯的命令行如下所示:
    [plain] view plaincopy
  • gcc?helloworld.cpp?-o?helloworld.exe??
  • 上述命令執(zhí)行完后即可在同一目錄下生成一個(gè)helloworld.exe的可執(zhí)行程序。
    編譯包含類(lèi)庫(kù)的程序相對(duì)來(lái)說(shuō)要復(fù)雜一些,下面以Simplest FFmpeg Player為例看一下它的編譯腳本。Simplest FFmpeg Player使用MinGW GCC編譯的腳本保存在“compile_mingw.sh”文件中,如下所示。
    [plain] view plaincopy
  • #!?/bin/sh??
  • #最簡(jiǎn)單的基于FFmpeg的視頻播放器?2----MinGW命令行編譯??
  • #Simplest?FFmpeg?Player?2----Compile?in?MinGW??
  • #??
  • #雷霄驊?Lei?Xiaohua??
  • #leixiaohua1020@126.com??
  • #中國(guó)傳媒大學(xué)/數(shù)字電視技術(shù)??
  • #Communication?University?of?China?/?Digital?TV?Technology??
  • #http://blog.csdn.net/leixiaohua1020??
  • #??
  • #compile??
  • g++?simplest_ffmpeg_player.cpp?-g?-o?simplest_ffmpeg_player.exe?\??
  • -I?/usr/local/include?-L?/usr/local/lib?\??
  • -lmingw32?-lSDL2main?-lSDL2?-lavformat?-lavcodec?-lavutil?-lswscale??
  • ?
    這個(gè)腳本使用MinGW中的g++完成編譯。在這里要注意一點(diǎn),并不是gcc只能編譯c代碼,g++只能編譯c++代碼,而是gcc和g++都可以編譯C和C++代碼。源代碼文件后綴為.c的,gcc把它當(dāng)作是C程序,而g++當(dāng)作是c++程序;后綴為.cpp的,兩者都會(huì)認(rèn)為是c++程序。上述編譯命令有以下幾點(diǎn)需要注意:
    (a) ?include目錄設(shè)置為/usr/local/include,要確保SDL2和FFmpeg的頭文件都安裝在這個(gè)目錄里(SDL2有可能沒(méi)有安裝在這里)
    (b) ?lib目錄設(shè)置為/usr/local/lib,要確保SDL2和FFmpeg的庫(kù)文件都安裝在這個(gè)目錄里(SDL2有可能沒(méi)有安裝在這里)
    (c) ?使用SDL類(lèi)庫(kù)的時(shí)候,務(wù)必鏈接-lmingw32
    上述腳本運(yùn)行完城后,生成simplest_ffmpeg_player.exe。
    ?
    完整的腳本simplest_ffmpeg_demos_compile_mingw_all.sh如下所示。將腳本拷貝至《最簡(jiǎn)單的FFmpeg示例程序合集》所在目錄運(yùn)行,就可以編譯所有的示例程序。注意這個(gè)腳本只是分別調(diào)用了各個(gè)程序目錄下的compile_mingw.sh文件。
    ?
    [plain] view plaincopy
  • echo?"============================================="??
  • echo?"simplest?ffmpeg?demos?list?----?MinGW?compile?all"??
  • echo?"Lei?Xiaohua"??
  • echo?"Communication?University?of?China?/?Digital?TV?Technology"??
  • echo?"leixiaohua1020@126.com"??
  • echo?"http://blog.csdn.net/leixiaohua1020"??
  • echo?"============================================="??
  • #=====================================================================================??
  • ???
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_player..."??
  • cd?simplest_ffmpeg_player??
  • cd?simplest_ffmpeg_player??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?simplest_ffmpeg_player_su??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?simplest_ffmpeg_decoder_pure??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_audio_player..."??
  • cd?simplest_ffmpeg_audio_player??
  • cd?simplest_ffmpeg_audio_player??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_picture_encoder..."??
  • cd?simplest_ffmpeg_picture_encoder??
  • cd?simplest_ffmpeg_picture_encoder??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_video_encoder..."??
  • cd?simplest_ffmpeg_video_encoder??
  • cd?simplest_ffmpeg_video_encoder??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?simplest_ffmpeg_video_encoder_pure??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_audio_encoder..."??
  • cd?simplest_ffmpeg_audio_encoder??
  • cd?simplest_ffmpeg_audio_encoder??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_streamer..."??
  • cd?simplest_ffmpeg_streamer??
  • cd?simplest_ffmpeg_streamer??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_mem_handler..."??
  • cd?simplest_ffmpeg_mem_handler??
  • cd?simplest_ffmpeg_mem_player??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?simplest_ffmpeg_mem_transcoder??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_device..."??
  • cd?simplest_ffmpeg_device??
  • cd?simplest_ffmpeg_grabdesktop??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?simplest_ffmpeg_readcamera??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_format..."??
  • cd?simplest_ffmpeg_format??
  • cd?simplest_ffmpeg_demuxer??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?simplest_ffmpeg_demuxer_simple??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?simplest_ffmpeg_muxer??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?simplest_ffmpeg_remuxer??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_video_filter..."??
  • cd?simplest_ffmpeg_video_filter??
  • cd?simplest_ffmpeg_video_filter??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_swscale..."??
  • cd?simplest_ffmpeg_swscale??
  • cd?simplest_ffmpeg_swscale??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?simplest_pic_gen??
  • sh?compile_mingw.sh??
  • cd?..??
  • cd?..??
  • ???
  • #=====================================================================================??

  • ?

    GCC (Linux/MacOS)


    ? ? ? ??? ? ? ??

    GCC是Linux/MacOS下的C/C++編譯器。在Linux/MacOS下可以使用GCC編譯C/C++程序,一個(gè)簡(jiǎn)單的GCC編譯命令:
    [plain] view plaincopy
  • gcc?helloworld.cpp?-o?helloworld.out??
  • 上述命令執(zhí)行完后即可在同一目錄下生成一個(gè)名稱(chēng)為helloworld.out的可執(zhí)行程序。
    編譯包含類(lèi)庫(kù)的程序相對(duì)來(lái)說(shuō)要復(fù)雜一些,下面以Simplest FFmpeg Player為例看一下它的編譯腳本。Simplest FFmpeg Player使用GCC編譯的腳本保存在“compile_gcc.sh”文件中,如下所示。
    [plain] view plaincopy
  • #!?/bin/sh??
  • #最簡(jiǎn)單的基于FFmpeg的視頻播放器?2----命令行編譯??
  • #Simplest?FFmpeg?Player?2----Compile?in?Shell??
  • #??
  • #雷霄驊?Lei?Xiaohua??
  • #leixiaohua1020@126.com??
  • #中國(guó)傳媒大學(xué)/數(shù)字電視技術(shù)??
  • #Communication?University?of?China?/?Digital?TV?Technology??
  • #http://blog.csdn.net/leixiaohua1020??
  • #??
  • #compile??
  • gcc?simplest_ffmpeg_player.cpp?-g?-o?simplest_ffmpeg_player.out?\??
  • -I?/usr/local/include?-L?/usr/local/lib?-lSDL2main?-lSDL2?-lavformat?-lavcodec?-lavutil?-lswscale??
  • ?
    這個(gè)腳本使用gcc完成編譯。上文中已經(jīng)提到過(guò)一次,并不是gcc只能編譯c代碼,g++只能編譯c++代碼,而是gcc和g++都可以編譯C和C++代碼。源代碼文件后綴為.c的,gcc把它當(dāng)作是C程序,而g++當(dāng)作是c++程序;后綴為.cpp的,兩者都會(huì)認(rèn)為是c++程序。上述編譯命令有以下幾點(diǎn)需要注意:
    (a) ?include目錄設(shè)置為/usr/local/include,要確保SDL2和FFmpeg的頭文件都安裝在這個(gè)目錄里
    (b) ?lib目錄設(shè)置為/usr/local/lib,要確保SDL2和FFmpeg的庫(kù)文件都安裝在這個(gè)目錄里
    (c) ?有些版本中的Linux可能沒(méi)有安裝gcc/g++編譯器,需要先裝好這兩個(gè)編譯器
    上述腳本運(yùn)行完城后,生成simplest_ffmpeg_player.out。
    ?

    注意事項(xiàng):Linux和MacOS的不同

    Linux和MacOS在SDL1.2的使用上有很大的不同。在MacOS下使用SDL1.2必須加上“-framework Cocoa”參數(shù),否則編譯會(huì)出現(xiàn)錯(cuò)誤。因此在MacOS下編譯使用SDL1.2的程序的時(shí)候,編譯命令如下所示(以simplest_ffmpeg_grabdesktop為例,該程序采用了SDL1.2)。
    [plain] view plaincopy
  • gcc?simplest_ffmpeg_grabdesktop.cpp?-g?-o?simplest_ffmpeg_grabdesktop.out?\??
  • -framework?Cocoa?-I?/usr/local/include?-L?/usr/local/lib?-lSDLmain?-lSDL?-lavformat?-lavcodec?-lavutil?-lavdevice?-lswscale??
  • 對(duì)于這些采用SDL1.2的程序,保存了一個(gè)MacOS下專(zhuān)有的腳本“compile_gcc_mac.sh”。
    此外,Linux和MacOS在顯示上也有較大的不同。此前發(fā)現(xiàn)Windows和MacOS下可以正常顯示的程序在Ubuntu下卻會(huì)出現(xiàn)“綠屏”現(xiàn)象。不過(guò)隨著代碼的調(diào)整這一情況已經(jīng)被消除了。
    ?
    完整的腳本simplest_ffmpeg_demos_compile_gcc_all.sh如下所示。將腳本拷貝至《最簡(jiǎn)單的FFmpeg示例程序合集》所在目錄運(yùn)行,就可以編譯所有的示例程序。注意這個(gè)腳本只是分別調(diào)用了各個(gè)程序目錄下的compile_gcc.sh文件。
    [plain] view plaincopy
  • echo?"============================================="??
  • echo?"simplest?ffmpeg?demos?list?----?GCC?compile?all"??
  • echo?"Lei?Xiaohua"??
  • echo?"Communication?University?of?China?/?Digital?TV?Technology"??
  • echo?"leixiaohua1020@126.com"??
  • echo?"http://blog.csdn.net/leixiaohua1020"??
  • echo?"============================================="??
  • #=====================================================================================??
  • #OS?kernel??
  • kernel=$(uname?-s)??
  • ??
  • #change?the?access?permissions?(--recursive)??
  • chmod?-R?777?./??
  • ??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_player..."??
  • cd?simplest_ffmpeg_player??
  • cd?simplest_ffmpeg_player??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?simplest_ffmpeg_player_su??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?simplest_ffmpeg_decoder_pure??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_audio_player..."??
  • cd?simplest_ffmpeg_audio_player??
  • cd?simplest_ffmpeg_audio_player??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_picture_encoder..."??
  • cd?simplest_ffmpeg_picture_encoder??
  • cd?simplest_ffmpeg_picture_encoder??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_video_encoder..."??
  • cd?simplest_ffmpeg_video_encoder??
  • cd?simplest_ffmpeg_video_encoder??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?simplest_ffmpeg_video_encoder_pure??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_audio_encoder..."??
  • cd?simplest_ffmpeg_audio_encoder??
  • cd?simplest_ffmpeg_audio_encoder??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_streamer..."??
  • cd?simplest_ffmpeg_streamer??
  • cd?simplest_ffmpeg_streamer??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_mem_handler..."??
  • cd?simplest_ffmpeg_mem_handler??
  • cd?simplest_ffmpeg_mem_player??
  • if?[?"$kernel"?==?"Darwin"?];then??
  • sh?compile_gcc_mac.sh??
  • else??
  • sh?compile_gcc.sh??
  • fi??
  • cd?..??
  • cd?simplest_ffmpeg_mem_transcoder??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_device..."??
  • cd?simplest_ffmpeg_device??
  • cd?simplest_ffmpeg_grabdesktop??
  • if?[?"$kernel"?==?"Darwin"?];then??
  • sh?compile_gcc_mac.sh??
  • else??
  • sh?compile_gcc.sh??
  • fi??
  • cd?..??
  • cd?simplest_ffmpeg_readcamera??
  • if?[?"$kernel"?==?"Darwin"?];then??
  • sh?compile_gcc_mac.sh??
  • else??
  • sh?compile_gcc.sh??
  • fi??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_format..."??
  • cd?simplest_ffmpeg_format??
  • cd?simplest_ffmpeg_demuxer??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?simplest_ffmpeg_demuxer_simple??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?simplest_ffmpeg_muxer??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?simplest_ffmpeg_remuxer??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_video_filter..."??
  • cd?simplest_ffmpeg_video_filter??
  • cd?simplest_ffmpeg_video_filter??
  • if?[?"$kernel"?==?"Darwin"?];then??
  • sh?compile_gcc_mac.sh??
  • else??
  • sh?compile_gcc.sh??
  • fi??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================??
  • echo?""??
  • echo?"Compile?simplest_ffmpeg_swscale..."??
  • cd?simplest_ffmpeg_swscale??
  • cd?simplest_ffmpeg_swscale??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?simplest_pic_gen??
  • sh?compile_gcc.sh??
  • cd?..??
  • cd?..??
  • ??
  • #=====================================================================================?
  • 總結(jié)

    以上是生活随笔為你收集整理的FFmpeg示例程序合集-批量编译脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

    玖玖国产精品视频 | 亚洲人成免费 | 久久久久久久久久久久久9999 | 91丨九色丨高潮丰满 | 国产区 在线 | 免费看三级 | 欧美精选一区二区三区 | 毛片永久新网址首页 | 日日噜噜噜噜夜夜爽亚洲精品 | 欧美日韩性视频在线 | 婷婷中文字幕在线观看 | 丝袜美女在线 | 国产精品区二区三区日本 | 人成午夜视频 | 99草在线视频 | 国产99久久久国产精品 | 中文字幕色综合网 | av免费电影在线观看 | 天天射天天艹 | aaa亚洲精品一二三区 | 久久精品亚洲综合专区 | 亚洲人在线7777777精品 | 中文字幕乱码在线播放 | 欧美精品亚洲精品日韩精品 | 天天插天天操天天干 | 黄色大全在线观看 | 日韩一级电影在线观看 | 九色福利视频 | 国产成a人亚洲精v品在线观看 | 国产69久久精品成人看 | 亚洲精选在线观看 | 激情一区二区三区欧美 | 免费看片成年人 | 精品 一区 在线 | 亚洲视频 在线观看 | 国产精品 中文在线 | 久久免费久久 | 日韩色综合 | 久久国产精品99久久久久 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 黄色a在线 | 亚洲毛片在线观看. | 又黄又爽又色无遮挡免费 | 国产一级电影在线 | 久久精品中文字幕免费mv | 久久国内精品视频 | 亚洲精品国产精品乱码不99热 | 天天爽天天碰狠狠添 | 亚洲男人天堂a | 国产成人精品av在线 | 中文字幕在线观看一区二区 | 久久人操| 成人网在线免费视频 | av成人免费观看 | 日韩在线视频播放 | 91在线视频免费91 | 国产在线91精品 | www.亚洲精品视频 | 日韩一区精品 | 毛片一级免费一级 | 人人爱人人做人人爽 | 欧美激情片在线观看 | 日本在线视频一区二区三区 | 日韩av手机在线看 | av网站播放 | 最新亚洲视频 | 日韩三级视频在线观看 | 性色av免费看 | 五月婷香 | 精品久久久一区二区 | 成人av电影在线播放 | 在线观看日韩一区 | 日韩在线大片 | 午夜精品电影 | 国产小视频免费在线观看 | 成人wwwxxx视频 | 99日精品 | 亚洲精品免费视频 | 九色91av| 亚洲区精品视频 | 一区 在线 影院 | 91综合久久一区二区 | 午夜成人影视 | 欧美日韩精品影院 | 在线播放日韩av | 国产精品第54页 | 夜色资源网 | 尤物97国产精品久久精品国产 | 日韩一级网站 | 成人免费在线观看电影 | 欧美一区二区精品在线 | 亚洲va在线va天堂va偷拍 | 99久久99久久精品国产片 | 欧美日产在线观看 | 亚洲天天在线日亚洲洲精 | 久久国产精品影片 | 亚洲视频一区二区三区在线观看 | 一区二区三区在线看 | 国产一区二区在线免费视频 | 国产成人三级在线播放 | 国产成人综 | 国产精品美女久久久久久久 | 国产精品久久久精品 | 日韩激情网 | 欧美一级片在线 | 国产午夜精品免费一区二区三区视频 | 青青啪 | 婷婷国产精品 | 男女靠逼app| 天天想夜夜操 | 精品一区二区三区在线播放 | 久久精品视频中文字幕 | 久久婷婷一区二区三区 | 久久久蜜桃一区二区 | 日韩免费一级电影 | 亚洲一区二区三区毛片 | 黄色在线免费观看网站 | 日本中文字幕在线电影 | 日韩中文字幕国产精品 | 国产精品一区二区三区在线看 | 色婷婷88av视频一二三区 | 青青河边草免费直播 | 91av社区 | 丁香5月婷婷 | 蜜臀av夜夜澡人人爽人人 | 91插插影库 | 丰满少妇对白在线偷拍 | 久久精品99久久久久久 | 在线日本看片免费人成视久网 | 国产美女免费观看 | 丁香五月亚洲综合在线 | 国产黄色片久久 | 国内视频一区二区 | 黄色一级大片在线免费看产 | 国产一卡二卡在线 | 久久免费视频8 | 国产福利91精品一区二区三区 | 一级性生活片 | 国产精品18久久久久久久久 | 国产精品久久久久久久av电影 | 欧美日韩一区二区三区视频 | 欧美激情综合五月色丁香 | av久久久 | 免费看黄的视频 | 在线高清一区 | 日韩高清精品免费观看 | 国产999精品久久久久久 | 亚洲欧美成人综合 | 中文字幕免费国产精品 | 色中文字幕在线观看 | 91大神精品视频 | 国产麻豆精品一区 | 久草在线精品观看 | www.香蕉| 就要干b| 一区二区三区免费在线观看视频 | 99久久精品一区二区成人 | 美女视频久久黄 | 99久久精品无码一区二区毛片 | 中文字幕文字幕一区二区 | 国产精品18久久久久vr手机版特色 | 精品无人国产偷自产在线 | 亚洲自拍偷拍色图 | av动态图片| 亚洲视屏在线播放 | 激情欧美一区二区免费视频 | 香蕉看片 | 在线观看一区 | 丁香五月亚洲综合在线 | 欧美性高跟鞋xxxxhd | 狠狠色狠狠色合久久伊人 | 国产精品久久久网站 | 日韩啪视频 | 粉嫩av一区二区三区免费 | 免费观看完整版无人区 | 免费成人在线网站 | 99久久精品无码一区二区毛片 | 久久久国际精品 | 色综合网| 国产福利免费在线观看 | 色综合久久中文综合久久牛 | 久久三级视频 | 五月综合色婷婷 | 91视频免费国产 | 欧美精品国产综合久久 | 在线中文字幕电影 | 欧美一区二区在线免费看 | 国产最新91 | 免费黄色av. | 国产视频在线免费观看 | 国产精品亚洲综合久久 | 免费视频在线观看网站 | av大片免费在线观看 | 久久精品国产亚洲精品2020 | 999久久国产精品免费观看网站 | 91精品国产一区 | 亚洲国产精品久久久久久 | 2019中文在线观看 | 国产精品久久久久久久久久久久午 | 欧美激情视频一区二区三区免费 | 午夜久久影视 | 人人舔人人 | 日韩在线视频网 | 91香蕉嫩草| 天天色天天操天天爽 | 国产精品一区二区无线 | 国产一区二区三区高清播放 | 国产小视频在线 | 日韩在线免费小视频 | 久久网站av | 麻豆传媒一区二区 | 久久天天拍 | 91在线视频在线观看 | 九九视频一区 | 在线观看视频一区二区三区 | 青春草免费视频 | 久久国产成人午夜av影院潦草 | 丁香六月婷婷开心婷婷网 | 久久久91精品国产 | 91精品欧美一区二区三区 | 视频在线在亚洲 | 中文av在线播放 | 亚洲最新在线 | 亚洲精品国久久99热 | 另类老妇性bbwbbw高清 | 久久久久久久久久久久久久av | 精品国产一区二区三区四区vr | 久久五月婷婷丁香社区 | 欧美国产日韩在线视频 | 久久久久久久久久久久久9999 | 精品久久久久久久久久久久久久久久久久 | 国产一区二区影院 | 国产一区二区精品在线 | 久久久99精品免费观看 | 国产精品自拍在线 | 伊人宗合网 | 亚洲区精品 | 国产亚洲免费的视频看 | www.成人精品 | 麻豆91小视频| 91视频在线免费下载 | 97成人资源站 | 亚洲精品啊啊啊 | 91视频黄色 | 国产69精品久久app免费版 | 国产精品久久久久aaaa | 麻豆视频在线观看 | 天天色婷婷 | 91精品小视频 | 国产精品美女免费 | 日韩在线不卡av | 99久久这里有精品 | 欧美大片在线观看一区 | 激情婷婷在线观看 | 99免费在线视频观看 | 日韩免费成人 | 国产剧情在线一区 | 成人v| 免费黄色网址大全 | 五月天久久婷婷 | 久久久综合电影 | 男女激情片在线观看 | 青草视频免费观看 | 国产精品免费麻豆入口 | 激情五月综合网 | 日韩在线三区 | 美女久久99| 最近日本韩国中文字幕 | 91福利社区在线观看 | 久久人人爽人人爽人人片 | 久久dvd| 亚洲国产一二三 | 国产资源免费在线观看 | 伊人激情综合 | 97视频免费在线看 | 中文字幕色播 | 青青看片 | 五月天婷婷在线视频 | 免费亚洲视频 | 视频在线观看99 | 99视频国产精品 | 黄色亚洲大片免费在线观看 | 九九九在线观看视频 | 精品一区二区在线免费观看 | 亚洲国产精品一区二区久久,亚洲午夜 | 一级一级一片免费 | 在线观看爱爱视频 | 色婷婷久久一区二区 | 精品产品国产在线不卡 | 亚洲无吗视频在线 | 国产精品福利无圣光在线一区 | 99中文字幕在线观看 | 国产区第一页 | 五月天天色 | 国产精品久久久久久久久久 | 精品日本视频 | 国产 在线观看 | 国产精品黄色 | 久久婷婷精品 | 日日操日日插 | 在线观看香蕉视频 | 欧美日韩视频精品 | 在线成人小视频 | 在线观看理论 | 国产资源在线播放 | 国产午夜三级一区二区三桃花影视 | 国内精品在线看 | 99se视频在线观看 | 日日插日日干 | 超级av在线 | 国产精品久久久久久久免费大片 | 亚洲精品在线观看的 | 日韩欧美99 | 天堂麻豆 | 一级淫片在线观看 | 久久精视频 | 五月天中文字幕mv在线 | 国产日韩视频在线播放 | 国产美女无遮挡永久免费 | 国产永久免费 | 一区二区三区动漫 | 绯色av一区 | 四虎影视成人永久免费观看视频 | av不卡中文字幕 | 在线观看成人福利 | 亚洲精品网址在线观看 | 欧美日韩网址 | 免费成人av在线看 | 18av在线视频 | 国产视频手机在线 | 亚洲婷婷网 | 激情久久网 | 欧美日韩视频在线观看免费 | 国产精品1区2区3区在线观看 | 99久久精品一区二区成人 | 97视频亚洲| 偷拍区另类综合在线 | 国产91精品看黄网站 | 亚洲 欧洲 国产 精品 | 欧美另类sm图片 | 中文字幕资源网 国产 | 久久免费视频这里只有精品 | 91精品视频免费观看 | 欧美做受xxx | 久99久视频 | 中文字幕一区二区三区四区 | 久草在线高清视频 | 99精品观看 | 精品亚洲视频在线观看 | 美女网站视频一区 | 欧美一区二区三区在线观看 | av性在线| 国产不卡网站 | 五月激情丁香 | 精品一区精品二区高清 | 色网站免费在线观看 | 亚洲最大免费成人网 | 欧美精品黑人性xxxx | 美女免费网视频 | 久久久久国产成人精品亚洲午夜 | 99成人在线视频 | 日韩大片在线播放 | 伊人中文字幕在线 | 天天干天天干天天干天天干天天干天天干 | 亚洲精品综合在线观看 | 一区二区三区在线视频111 | 91重口视频 | 激情图片区 | 亚洲日本激情 | av福利超碰网站 | 国产成人三级在线播放 | 亚洲区另类春色综合小说校园片 | 麻豆观看| 五月天丁香 | 免费精品视频在线 | 午夜久久福利影院 | 日韩色综合网 | 午夜视频一区二区 | 国产一级淫片在线观看 | 国产中文字幕在线播放 | 欧美精品xx | 精品在线观| 天天操天天色天天射 | 视频国产一区二区三区 | 久久美女视频 | 在线天堂中文在线资源网 | www免费在线观看 | 亚洲最新在线视频 | 在线观看黄网 | av中文字幕电影 | 一区二区三区不卡在线 | 黄色av一区二区三区 | 91在线观看视频网站 | 免费看黄在线看 | 久久久久久久久久电影 | 成人性生交视频 | 91喷水 | 在线 精品 国产 | 国产精品久久久久影院日本 | 免费看黄电影 | 亚洲精品在线视频网站 | 高清不卡免费视频 | 97在线看 | 精品理论片 | 中文字幕国产在线 | 91传媒免费观看 | 探花视频免费观看 | 免费视频你懂的 | 日本不卡一区二区三区在线观看 | www久久九| 国产精品午夜久久 | 亚洲天堂网站视频 | 欧美久久久久久久久久 | 国产精品一区专区欧美日韩 | 伊人狠狠操 | 奇米网网址 | 91.精品高清在线观看 | 国产日韩欧美在线免费观看 | 天天色天天干天天 | 色资源在线观看 | 69av视频在线观看 | 一级免费看视频 | 精品亚洲一区二区三区 | 色五丁香 | 成人久久久久 | 欧美久久久久久久久 | 久草在线高清视频 | 天天操月月操 | 伊人伊成久久人综合网小说 | 91禁在线观看 | 黄视频色网站 | 免费网站黄| 国产h在线播放 | 久草在线观看资源 | 亚州精品成人 | 国产va饥渴难耐女保洁员在线观看 | aaa免费毛片| 最新中文在线视频 | 免费的黄色av | 亚洲开心激情 | 久久国产精品99久久久久久丝袜 | 992tv在线成人免费观看 | 久草资源免费 | 国产三级精品三级在线观看 | 久久视频一区二区 | 欧美视频xxx | 最近中文字幕大全 | 精品二区视频 | av软件在线观看 | 精品中文字幕在线播放 | 国产精品96久久久久久吹潮 | 婷婷五月在线视频 | 韩国av一区二区三区 | 国产aa免费视频 | 全久久久久久久久久久电影 | 国产精品永久久久久久久www | 99精品国产99久久久久久97 | 狠狠操.com | 国产香蕉视频在线播放 | 日韩一区正在播放 | 亚洲欧美视频在线播放 | 精品自拍sae8—视频 | 日韩精品久久久久久久电影99爱 | 久久久亚洲麻豆日韩精品一区三区 | 在线视频手机国产 | 成人国产精品电影 | 亚洲婷婷免费 | 伊人官网 | 久久久高清免费视频 | 免费看在线看www777 | 国产传媒一区在线 | 中文字幕a∨在线乱码免费看 | 成人免费网站视频 | 国产乱码精品一区二区蜜臀 | 久草在线手机视频 | 亚洲精品在线资源 | 国产精品久久久久久超碰 | 久草在线免费资源 | 久草热久草视频 | 国产91综合一区在线观看 | 欧美精品久久久久久久久久白贞 | 亚洲国产中文在线 | 色婷婷av一区 | 麻豆网站免费观看 | 日韩精品免费在线观看 | 成人99免费视频 | 在线观看成人网 | 夜夜骑日日| 日本乱码在线 | 成人一级片免费看 | 99久高清在线观看视频99精品热在线观看视频 | 欧洲成人av | 五月激情天| 国产中文字幕一区二区三区 | 国产99久久精品一区二区300 | 日本性久久 | 天天操天天爱天天干 | 精品一区二区6 | 深夜免费福利视频 | 欧美大片aaa | 国产在线视频一区二区三区 | 激情婷婷 | 中文在线最新版天堂 | 人人干网| 中文字幕丝袜 | 精品国产一区二区三区四 | 日日综合 | avlulu久久精品 | 久久久久久久久久久久99 | 国产精品久免费的黄网站 | 久草在线手机观看 | 色综合人人 | 婷婷综合影院 | 久久高清视频免费 | 天天搞夜夜骑 | 国产福利一区在线观看 | 国产精品欧美 | 国产精品一区二区中文字幕 | 国产福利91精品一区二区三区 | av超碰免费在线 | 天天激情综合 | 97色婷婷| 欧美性久久久久久 | 日日婷婷夜日日天干 | 欧美午夜性生活 | 一区二区成人国产精品 | 中文在线www | 天天鲁一鲁摸一摸爽一爽 | 国产亚洲精品久久久久久久久久久久 | 福利视频导航网址 | 日日爽夜夜爽 | 九九热1 | 成人免费观看大片 | 久久dvd| 美女精品网站 | 久久爽久久爽久久av东京爽 | 亚洲精品网站在线 | 久久www免费视频 | 日本夜夜草视频网站 | av在线播放观看 | 久草在线电影网 | 91av在线免费看 | 亚洲综合干 | 中文字幕国语官网在线视频 | 91视频国产免费 | 亚洲麻豆精品 | 天天色成人 | 国产永久网站 | 人人射人人 | 国产精品久久久久亚洲影视 | 香蕉视频在线视频 | 久久久久免费视频 | 国产黄a三级三级 | 97国产| 久久精品第一页 | 亚洲精选国产 | 一级黄色片毛片 | 国产精品乱码久久久 | 精品国内自产拍在线观看视频 | 制服丝袜一区二区 | 亚洲国产日韩欧美在线 | 婷婷六月激情 | 国产在线1区 | 亚洲人人精品 | 亚洲精品免费在线视频 | 色福利网| 91av社区| 久久精品美女 | 中文字幕色综合网 | 欧美精品一区二区三区一线天视频 | 亚洲精品1234区 | 日韩精品在线免费观看 | 欧洲精品在线视频 | 国产精品一区一区三区 | 久久8| 午夜精品久久久久久久99无限制 | japanesexxxhd奶水 91在线精品一区二区 | av电影一区二区三区 | 久久综合亚洲鲁鲁五月久久 | 中文字幕观看av | 精品国产伦一区二区三区免费 | 91高清在线 | 国产在线永久 | 在线观看黄网站 | 精品国产欧美一区二区三区不卡 | 国产99一区视频免费 | av大片网址 | 中文字幕av影院 | 欧美日韩中文字幕视频 | 天天做日日做天天爽视频免费 | 国产色视频一区 | 欧美精品免费视频 | 亚洲电影院 | 国产成人精品国内自产拍免费看 | 久久久久久蜜桃一区二区 | 精品视频一区在线 | 欧美日韩国产精品一区二区 | 国产精品嫩草影院9 | 久久精品激情 | 香蕉网址 | 久草在线高清 | 中文字幕成人在线观看 | 久久福利影视 | 五月开心激情 | 国产一区不卡在线 | 国产又粗又猛又色又黄视频 | 久久99精品国产麻豆婷婷 | 91视频在线免费 | 久久天天躁夜夜躁狠狠85麻豆 | 亚洲综合精品在线 | 四虎天堂| 日本在线观看一区 | 天天操夜夜叫 | 色婷婷99| 国产青春久久久国产毛片 | 国产精品理论片 | 日韩欧美视频免费看 | 久久五月婷婷丁香 | 婷婷精品国产一区二区三区日韩 | 日韩影视在线观看 | 日韩欧美一区二区三区视频 | 精品国产免费人成在线观看 | 日韩精品视频在线观看网址 | 久久精品一区二区三 | 日本三级中文字幕在线观看 | 成人久久久久久久久久 | 久热电影 | 欧美一区二区三区激情视频 | 日韩av专区 | 四虎国产精品永久在线国在线 | 天天av在线播放 | 蜜桃传媒一区二区 | 天天干天天插伊人网 | 狠狠色综合欧美激情 | 国产中文字幕一区二区三区 | 日韩专区在线播放 | 午夜久久久久久久久久久 | 视频国产区 | 99riav1国产精品视频 | 亚州精品在线视频 | 91久久爱热色涩涩 | 人人爽人人插 | 丁香婷婷深情五月亚洲 | 婷婷av色综合| 91成人免费电影 | 天天做天天射 | 国产精品一区二区三区免费视频 | 国产精品综合久久 | 亚洲综合激情 | 亚州av免费 | 五月激情电影 | 99久久精品无码一区二区毛片 | 91视频麻豆视频 | 最新国产精品久久精品 | 午夜成人免费影院 | 国产精品99爱 | 手机在线视频福利 | 国产丝袜高跟 | 亚洲女欲精品久久久久久久18 | 五月天网页 | 国产视频不卡一区 | 国产成人av电影在线 | 麻豆精品视频在线观看免费 | 国产精品网在线观看 | 婷婷六月色 | 免费看一级片 | av电影在线免费观看 | 天天摸天天操天天舔 | 精品久久久久久久久久久久 | 91最新国产| 亚洲一区二区精品 | 不卡av电影在线 | 国产精品自在线 | 国内精品免费久久影院 | 色婷婷国产精品一区在线观看 | 久久久久国产精品一区二区 | 2018精品视频| 国产成人精品av在线观 | 色狠狠狠 | 久久亚洲免费 | 美女网站免费福利视频 | 99午夜| 亚洲精品伦理在线 | 97视频网站 | 日韩中文在线电影 | 在线观看视频h | 色婷婷激情电影 | 丁香六月婷婷 | 日韩网站免费观看 | 三级av在线免费观看 | 中文字幕在线专区 | 成人免费视频免费观看 | 国产精品中文字幕在线 | 在线观看欧美成人 | 久久99偷拍视频 | 在线观看成人福利 | 免费在线观看不卡av | 亚洲片在线 | 国产精品视频区 | 伊人五月天综合 | 成人精品一区二区三区电影免费 | 免费在线观看国产精品 | 中文字幕久久精品一区 | 日本中文字幕在线播放 | 日韩午夜在线 | 91亚洲激情| 伊人国产在线播放 | 中文字幕一区二区三区久久 | 午夜的福利| 黄色在线免费观看网址 | 欧美少妇18p | 美女精品 | 一级a毛片高清视频 | 国内精品久久久久久久久久清纯 | 久久呀| 久久爱导航| 一区 在线观看 | 成人免费视频网站在线观看 | 四虎永久免费在线观看 | 国产在线永久 | 在线观看电影av | 国产伦精品一区二区三区照片91 | 国产精品久久网站 | 日日干干 | 久久久久一区 | 久久精品99国产国产精 | 丁香婷婷电影 | 超碰在线天天 | 最近中文字幕第一页 | 国产剧情在线一区 | 亚洲欧美精品在线 | 99免费精品 | 精品福利视频在线观看 | 人人干狠狠操 | 免费看毛片网站 | 欧美日韩视频精品 | 久久综合精品一区 | 亚洲开心激情 | 91桃花视频| 亚洲美女在线一区 | 成人久久精品视频 | 亚洲精品美女在线 | 久久你懂得 | 97国产精品久久 | 日日爽夜夜操 | 午夜狠狠干 | 国产成人av在线影院 | 国产精品久久久久久久久蜜臀 | 日韩国产在线观看 | 亚洲天天在线日亚洲洲精 | 激情婷婷色 | 97精品国自产拍在线观看 | 97在线观看免费视频 | 少妇视频在线播放 | www.天天成人国产电影 | 国产一区二区视频在线播放 | 9999亚洲 | 精品 一区 在线 | 激情视频久久 | 中文字幕日韩高清 | 久久99亚洲热视 | 一本一本久久a久久 | 欧美日韩视频一区二区三区 | 亚洲精品国偷拍自产在线观看蜜桃 | 91视频在线免费 | 日韩二区在线播放 | a黄色片在线观看 | 国产精品一区二区久久精品爱涩 | 色婷婷亚洲婷婷 | 91九色porny蝌蚪视频 | 摸阴视频| 91在线观看视频网站 | 国产拍在线 | 深夜国产福利 | 久久99国产一区二区三区 | 99视频一区 | 看黄色91 | 最新av免费在线 | 在线观看国产高清视频 | 香蕉视频日本 | 免费在线观看黄网站 | 国产精品剧情 | 亚洲精品视频久久 | 天天综合成人 | 97网站| 欧美一区,二区 | 国产麻豆剧果冻传媒视频播放量 | 婷婷六月天在线 | 欧美日韩在线精品 | 九色视频自拍 | 99视频免费在线观看 | 日本久久中文 | 高清在线观看av | 狠狠色丁香婷婷 | 成 人 黄 色 视频免费播放 | 91香蕉亚洲精品 | 久草电影在线 | 中国美女一级看片 | 亚洲精品一区二区三区在线观看 | 97视频播放 | 香蕉视频91| 在线国产精品视频 | 国产香蕉97碰碰碰视频在线观看 | 国产 日韩 欧美 在线 | 色综合久久精品 | av日韩不卡 | 干亚洲少妇 | 在线亚洲激情 | 国产亚洲精品v | 久久中文网 | 日本三级不卡 | 久久免费在线观看视频 | 国产免费又爽又刺激在线观看 | 久久激情综合网 | 精品自拍av | 国产精品女同一区二区三区久久夜 | 国产成人精品一区二区三区在线观看 | 人人爽人人插 | 人人爱人人做人人爽 | 久久综合在线 | 九九九九九九精品 | 欧美综合国产 | 99r精品视频在线观看 | 女人魂免费观看 | 久久午夜精品视频 | 综合色狠狠 | 欧美激情亚洲综合 | 久久夜靖品 | 三三级黄色片之日韩 | 丁香婷婷激情 | 91久久国产自产拍夜夜嗨 | 亚州精品成人 | 超黄视频网站 | 九九九在线观看 | 亚洲国产精品传媒在线观看 | 日韩精品五月天 | 久久一区91 | 欧美男同视频网站 | 欧美精品久久天天躁 | 日本一区二区不卡高清 | 日韩r级电影在线观看 | 成人免费视频a | 久久精品一级片 | 一级黄网| 天天曰天天爽 | 六月丁香社区 | 丁香av| 国产免费中文字幕 | 人人擦| 亚洲一区二区三区miaa149 | 婷婷综合五月 | 精品久久久影院 | 色在线中文字幕 | 国产精彩视频 | 久久久久久久久久久久av | 婷婷激情五月综合 | 夜夜躁狠狠躁日日躁视频黑人 | 中文在线字幕观看电影 | 国产免费亚洲高清 | 成年人黄色免费网站 | 特级毛片aaa| 免费看久久| 久久午夜鲁丝片 | 亚洲区另类春色综合小说 | 国产一级在线看 | 精品久久电影 | 亚州国产视频 | 我爱av激情网 | 成人在线视频网 | 亚洲欧洲美洲av | 日日日日干| 91精品国产乱码久久 | 超碰人人射 | av免费在线免费观看 | 99久高清在线观看视频99精品热在线观看视频 | 一区二区影院 | 精品毛片久久久久久 | 亚洲激情 欧美激情 | 草免费视频 | 国产精品久久久免费 | 午夜精品久久久久久久99婷婷 | 91视频麻豆 | 99亚洲精品视频 | 久久久久久高潮国产精品视 | 99久久精品视频免费 | 久草免费手机视频 | 日本黄色大片免费看 | 亚洲欧洲一区二区在线观看 | 国产一线二线三线在线观看 | 国产一区二区在线播放 | 日韩欧美一区二区在线播放 | 男女激情片在线观看 | 91精品一区在线观看 | 日韩久久一区二区 | 日韩电影在线视频 | 成av在线 | 国产精品手机在线播放 | 福利二区视频 | 欧美福利视频一区 | 少妇高潮冒白浆 | 欧美精品久久久久久久亚洲调教 | 狠狠色丁香婷婷综合基地 | 99中文视频在线 | 亚洲永久在线 | 丁香花五月 | 中文字幕免费在线看 | 天天夜夜亚洲 | 成年人黄色大片在线 | 激情视频一区二区 | 日韩在线网址 | 日韩网站在线看片你懂的 | 国产 日韩 欧美 自拍 | 久久精品a | 少妇bbb好爽 | 精品久久免费看 | 日本不卡一区二区三区在线观看 | 久久久久久久免费看 | 久久精品波多野结衣 | 久久午夜鲁丝片 | 久草在线在线精品观看 | 午夜123| 免费a视频| 日韩午夜在线观看 | 91在线看免费 | 九七人人干 | 日韩xxxx视频 | 中文免费观看 | 国产福利在线免费观看 | 亚洲色图27p| 亚洲精品在线视频观看 | 日韩在线免费播放 | 中文字幕在线观看国产 | 亚洲第一区在线播放 | 成人片在线播放 | 免费高清男女打扑克视频 | 九九久久影视 | 在线 欧美 日韩 | 91在线看 | 国产精品99久久久久 | 精品二区视频 | 毛片无卡免费无播放器 | 久久久在线视频 | 亚洲电影网站 | 国产r级在线观看 | 欧美精品一区二区三区四区在线 | 在线国产激情视频 | 欧美日韩免费视频 | 亚洲激情中文 | 国产在线观看不卡 | 国产午夜精品一区 | 蜜桃视频日韩 | 91亚洲永久精品 | 九九热视频在线免费观看 | 青青网视频 | av午夜电影 | 99国产精品一区 | 婷婷亚洲综合五月天小说 | 色综合久久久久久久 | 免费在线观看毛片网站 | 九九免费观看全部免费视频 | 一区二区网 | 99视频黄| 成人羞羞视频在线观看免费 | 日本黄色免费在线观看 | 免费在线观看不卡av | 久久综合网色—综合色88 | 在线中文字幕一区二区 | h视频在线看 | 国产精品不卡在线观看 | 伊人官网 | 日日久视频 | 91在线一区| 国产精品高潮久久av | 在线观看视频一区二区三区 | 黄色国产成人 | 午夜影院先 | 亚洲成人一二三 | 丝袜美腿在线 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 最新av网站在线观看 | 人人爽人人乐 | 日本中文字幕在线播放 | 久久久久久久久久电影 | 在线色吧 | av中文资源在线 | 精品久久精品 | 免费亚洲视频 | 久久国产精品区 | 亚洲精品成人免费 | 五月激情亚洲 | 欧美日韩伦理一区 | 国产精品久久久久亚洲影视 | 高清久久久久久 | 国产免费一区二区三区网站免费 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 国产精品18久久久久久久网站 | 国产精品99久久久久久人免费 | wwwwwww色|