青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

[總結]FFMPEG視音頻編解碼零基礎學習方法

http://blog.csdn.net/leixiaohua1020/article/details/15811977

在CSDN上的這一段日子,接觸到了很多同行業的人,尤其是使用FFMPEG進行視音頻編解碼的人,有的已經是有多年經驗的“大神”,有的是剛開始學習的初學者。在和大家探討的過程中,我忽然發現了一個問題:在“大神”和初學者之間好像有一個不可逾越的鴻溝。“大神”們水平高超,探討著深奧的問題;而初學者們還停留在入門階段。究竟是什么原因造成的這種“兩極分化”呢?最后,我發現了問題的關鍵:FFMPEG難度比較大,卻沒有一個循序漸進,由簡單到復雜的教程。現在網上的有關FFMPEG的教程多半難度比較大,不太適合剛接觸FFMPEG的人學習;而且很多的例子程序編譯通不過,極大地打消了學習的積極性。我自己在剛開始學習FFMPEG的時候也遇到了很大的困難。為了幫助更多的人快速成為“大神”,我想總結一個學習FFMPEG的方法,方便大家循序漸進的學習FFMPEG。

PS:有不少人不清楚“FFmpeg”應該怎么讀。它讀作“ef ef em peg”


0. 背景知識

本章主要介紹一下FFMPEG都用在了哪里(在這里僅列幾個我所知的,其實遠比這個多)。說白了就是為了說明:FFMPEG是非常重要的。

使用FFMPEG作為內核視頻播放器:

Mplayer,ffplay,射手播放器,暴風影音,KMPlayer,QQ影音...

使用FFMPEG作為內核的Directshow Filter:

ffdshow,lav filters...

使用FFMPEG作為內核的轉碼工具:

ffmpeg,格式工廠...

事實上,FFMPEG的視音頻編解碼功能確實太強大了,幾乎囊括了現存所有的視音頻編碼標準,因此只要做視音頻開發,幾乎離不開它。

對于完全沒有視音頻技術背景的人來說,在學習FFmpeg之前最好先了解一下幾種最基本的視音頻數據的格式,可以參考下面的文章:

[總結]視音頻編解碼技術零基礎學習方法

視音頻數據處理入門:RGB、YUV像素數據處理

視音頻數據處理入門:PCM音頻采樣數據處理

視音頻數據處理入門:H.264視頻碼流解析

視音頻數據處理入門:AAC音頻碼流解析

視音頻數據處理入門:FLV封裝格式解析

視音頻數據處理入門:UDP-RTP協議解析


1. ffmpeg程序的使用(ffmpeg.exe,ffplay.exe,ffprobe.exe)


【視頻資源】

本文中第1,2章是FFmpeg編程最基礎的內容。這部分的內容我在給大二同學代課的時候錄制成了視頻,有時間的話可以看一下《基于 FFmpeg + SDL 的視頻播放器的制作》課程的視頻


本章主要介紹一下ffmpeg工程包含的三個exe的使用方法。

ffmpeg的官方網站是:http://ffmpeg.org/

編譯好的windows可用版本的下載地址(官網中可以連接到這個網站,和官方網站保持同步): http://ffmpeg.zeranoe.com/builds/

該網站中的FFMPEG分為3個版本:Static,Shared,Dev。

前兩個版本可以直接在命令行中使用,他們的區別在于:Static里面只有3個應用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe,每個exe的體積都很大,相關的Dll已經被編譯到exe里面去了。Shared里面除了3個應用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe之外,還有一些Dll,比如說avcodec-54.dll之類的。Shared里面的exe體積很小,他們在運行的時候,到相應的Dll中調用功能。

Dev版本是用于開發的,里面包含了庫文件xxx.lib以及頭文件xxx.h,這個版本不包含exe文件。

打開系統命令行接面,切換到ffmpeg所在的目錄,就可以使用這3個應用程序了。

1.1 ffmpeg.exe

ffmpeg是用于轉碼的應用程序。

一個簡單的轉碼命令可以這樣寫:

將input.avi轉碼成output.ts,并設置視頻的碼率為640kbps

[plain] view plain copy
  1. ffmpeg -i input.avi -b:v 640k output.ts  
具體的使用方法可以參考: ffmpeg參數中文詳細解釋

詳細的使用說明(英文):http://ffmpeg.org/ffmpeg.html

1.2 ffplay.exe

ffplay是用于播放的應用程序。

一個簡單的播放命令可以這樣寫:

播放test.avi

[plain] view plain copy
  1. ffplay test.avi  
具體的使用方法可以參考:ffplay的快捷鍵以及選項

詳細的使用說明(英文):http://ffmpeg.org/ffplay.html

1.3 ffprobe.exe

ffprobe是用于查看文件格式的應用程序。

這個就不多介紹了。

詳細的使用說明(英文):http://ffmpeg.org/ffprobe.html


2. ffmpeg庫的使用:視頻播放器

本章開始介紹使用ffmpeg的庫進行開發。

2.1 ffmpeg庫的配置

http://ffmpeg.zeranoe.com/builds/網站上

1.下載Dev版本,里面包含了ffmpeg的xxx.h頭文件以及xxx.lib庫文件。

2.下載Shared版本,里面包含了ffmpeg的dll文件。

3.將這兩部分文件拷貝到VC工程下面就可以了

注:可能會出現問題,參見:FFMPEG 庫移植到 VC 需要的步驟

如果不想自己手動配置,可以下載已經配置好的工程:最簡單的基于FFMPEG+SDL的視頻播放器

2.2 最簡單的視頻播放器

學習文章100行代碼實現最簡單的基于FFMPEG+SDL的視頻播放器中的代碼,這是ffmpeg做視頻播放器最簡單的代碼了,是我自己精簡出來的,已經不能再簡化了,每一行都很重要。

原版是基于SDL1.2的視頻播放器,后來更新了基于SDL2.0的最簡單的視頻播放器:最簡單的基于FFMPEG+SDL的視頻播放器 ver2 (采用SDL2.0)

上述播放器使用libavformat和libavcodec兩個類庫完成了視頻的解碼工作。實際上解碼工作只需要libavcodec就可以了。因此更新了一個“純凈”的解碼器。該解碼器只使用libavcodec完成解碼工作: 最簡單的基于FFmpeg的解碼器-純凈版(不包含libavformat)

ffmpeg的函數介紹:ffmpeg函數介紹

注1:播放視頻或音頻數據的時候會用到SDL。有關SDL可以參考:SDL介紹

         SDL參考文檔:SDL GUIDE 中文譯本

注2:如果想查看解碼后的數據,需要用到 YUV播放器:YUV播放器源代碼YUV Player Deluxe都可以

2.3 相關結構體的研究

ffmpeg的結構體之間的關系參考文章:FFMPEG中最關鍵的結構體之間的關系

結構體中每個變量的分析,參考文章:

FFMPEG結構體分析:AVFrame

FFMPEG結構體分析:AVFormatContext
FFMPEG結構體分析:AVCodecContext
FFMPEG結構體分析:AVIOContext
FFMPEG結構體分析:AVCodec
FFMPEG結構體分析:AVStream
FFMPEG結構體分析:AVPacket


3. ffmpeg庫的使用:音頻播放器

3.1 最簡單的音頻播放器

學習文章最簡單的基于FFMPEG+SDL的音頻播放器 中的代碼,和最簡單的視頻播放器一樣,這是最簡單的音頻播放器,每一行代碼都很重要。

原版是基于SDL1.2的音頻播放器,后來更新了一個基于SDL2.0的最簡單的音頻播放器:最簡單的基于FFMPEG+SDL的音頻播放器 ver2 (采用SDL2.0)


注:如果想要查看解碼后的數據(PCM數據),需要用到Audition。

4. ffmpeg庫的使用:一個真正的播放器——ffplay

4.1 真正的播放器

ffplay流程圖如文章FFplay源代碼分析:整體流程圖 所示。ffplay代碼比較復雜,但是其核心代碼和100行代碼實現最簡單的基于FFMPEG+SDL的視頻播放器 是一樣的。可以兩個工程結合著學習。

ffplay代碼簡介資料:如何用FFmpeg編寫一個簡單播放器

ffplay使用說明:ffplay的快捷鍵以及選項

ffplay已經移植到VC下的工程:ffplay_vc2005(別人做的,質量很不錯)

ffplay移植到MFC下的工程,包含了簡單的圖形界面和一些控制按鈕:ffplay播放器移植VC的工程:ffplay for MFC

上述軟件的代碼簡介:ffplay for mfc 代碼備忘

ffplay.c函數結構簡單分析:ffplay.c函數結構簡單分析(畫圖)

5. ffmpeg庫的使用:編碼

5.1 編碼

ffmpeg編碼我自己研究的不是很多,可以參考文章 :使用FFmpeg類庫實現YUV視頻序列編碼為視頻

上面那篇文章是用的類庫比較舊,新版類庫的的使用可以參考下面幾篇文章。

圖像的編碼可以參考:最簡單的基于FFMPEG的圖像編碼器(YUV編碼為JPEG)

音頻的編碼可以參考:最簡單的基于FFMPEG的音頻編碼器(PCM編碼為AAC)

視頻的編碼可以參考:最簡單的基于FFMPEG的視頻編碼器(YUV編碼為H.264)

HEVC(H.265)視頻編碼可以參考:最簡單的基于FFmpeg的視頻編碼器-更新版(YUV編碼為HEVC(H.265))

上述編碼器使用libavformat和libavcodec兩個類庫完成了視頻的編碼工作。實際上編碼工作只需要libavcodec就可以了。因此更新了一個“純凈”的編碼器。該編碼器只使用libavcodec完成編碼工作: 最簡單的基于FFmpeg的編碼器-純凈版(不包含libavformat)

5.2 轉碼

轉碼實際上是先解碼然后編碼。

不進行轉碼,只進行封裝格式轉換的程序可參考:最簡單的基于FFMPEG的封裝格式轉換器(無編解碼)

轉碼程序可參考:最簡單的基于FFMPEG的轉碼程序

比較復雜的轉碼程序可以參考ffmpeg.c,它移植到MFC下的工程:ffmpeg轉碼器移植VC的工程:ffmpeg for MFC

ffmpeg.c函數結構簡單分析:ffmpeg.c函數結構簡單分析(畫圖)


6. ffmpeg源代碼分析

通曉了ffmpeg庫的使用以后,可以看一下ffmpeg的源代碼。注意ffmpeg的源代碼只有在Linux下才能編譯,在windows下可以使用MinGW進行編譯。推薦使用Eclipse查看ffmpeg的源代碼。

有一個很完整的ffmpeg源代碼的分析文檔:ffdoc


FFmpeg的庫函數源代碼分析文章列表如下:


架構圖】

FFmpeg源代碼結構圖 - 解碼

FFmpeg源代碼結構圖 - 編碼

【通用】

FFmpeg 源代碼簡單分析:av_register_all()

FFmpeg 源代碼簡單分析:avcodec_register_all()

FFmpeg 源代碼簡單分析:內存的分配和釋放(av_malloc()av_free()等)

FFmpeg 源代碼簡單分析:常見結構體的初始化和銷毀(AVFormatContextAVFrame等)

FFmpeg 源代碼簡單分析:avio_open2()

FFmpeg 源代碼簡單分析:av_find_decoder()av_find_encoder()

FFmpeg 源代碼簡單分析:avcodec_open2()

FFmpeg 源代碼簡單分析:avcodec_close()

【解碼】

圖解FFMPEG打開媒體的函數avformat_open_input

FFmpeg 源代碼簡單分析:avformat_open_input()

FFmpeg 源代碼簡單分析:avformat_find_stream_info()

FFmpeg 源代碼簡單分析:av_read_frame()

FFmpeg 源代碼簡單分析:avcodec_decode_video2()

FFmpeg 源代碼簡單分析:avformat_close_input()

【編碼】

FFmpeg 源代碼簡單分析:avformat_alloc_output_context2()

FFmpeg 源代碼簡單分析:avformat_write_header()

FFmpeg 源代碼簡單分析:avcodec_encode_video()

FFmpeg 源代碼簡單分析:av_write_frame()

FFmpeg 源代碼簡單分析:av_write_trailer()

【其它】

FFmpeg源代碼簡單分析:日志輸出系統(av_log()等)

FFmpeg源代碼簡單分析:結構體成員管理系統-AVClass

FFmpeg源代碼簡單分析:結構體成員管理系統-AVOption

FFmpeg源代碼簡單分析:libswscalesws_getContext()

FFmpeg源代碼簡單分析:libswscalesws_scale()

FFmpeg源代碼簡單分析:libavdeviceavdevice_register_all()

FFmpeg源代碼簡單分析:libavdevicegdigrab

【腳本】

FFmpeg源代碼簡單分析:makefile

FFmpeg源代碼簡單分析:configure

偏底層的libavcodec的源代碼分析文章列表如下:

【解碼- libavcodec H.264 解碼器】

FFmpeg的H.264解碼器源代碼簡單分析:概述

FFmpeg的H.264解碼器源代碼簡單分析:解析器(Parser)部分

FFmpeg的H.264解碼器源代碼簡單分析:解碼器主干部分

FFmpeg的H.264解碼器源代碼簡單分析:熵解碼(EntropyDecoding)部分

FFmpeg的H.264解碼器源代碼簡單分析:宏塊解碼(Decode)部分-幀內宏塊(Intra)

FFmpeg的H.264解碼器源代碼簡單分析:宏塊解碼(Decode)部分-幀間宏塊(Inter)

FFmpeg的H.264解碼器源代碼簡單分析:環路濾波(LoopFilter)部分

【解碼-libavcodec HEVC 解碼器】

FFmpeg的HEVC解碼器源代碼簡單分析:概述

FFmpeg的HEVC解碼器源代碼簡單分析:解析器(Parser)部分

FFmpeg的HEVC解碼器源代碼簡單分析:解碼器主干部分

FFmpeg的HEVC解碼器源代碼簡單分析:CTU解碼(CTUDecode)部分-PU

FFmpeg的HEVC解碼器源代碼簡單分析:CTU解碼(CTU Decode)部分-TU

FFmpeg的HEVC解碼器源代碼簡單分析:環路濾波(LoopFilter)



7.FFmpeg其它幾個類庫的使用

7.1.libavfilter(加特效)

AVFilter可以給視音頻添加各種濾鏡效果。有兩個例子,一個是給視頻添加水印:

最簡單的基于FFmpeg的AVfilter例子(水印疊加)

另一個是給YUV數據加特效:

最簡單的基于FFmpeg的AVfilter的例子-純凈版

7.2.libavdevice(讀設備)

AVDevice可以讀取電腦的多媒體設備的數據,或者輸出數據到指定的多媒體設備上。

直接使用ffmpeg.exe命令行工具的文章:FFmpeg獲取DirectShow設備數據(攝像頭,錄屏)

編程方面做了2個有關的例子:

讀取攝像頭:最簡單的基于FFmpeg的AVDevice例子(讀取攝像頭)

屏幕錄制:最簡單的基于FFmpeg的AVDevice例子(屏幕錄制)

7.3.libswscale(圖像拉伸,像素格式轉換)

Swscale類庫可以轉換像素數據的格式,同時可以拉伸圖像的大小。

libswscale的使用示例: 最簡單的基于FFmpeg的libswscale的示例(YUV轉RGB)

此外,這個示例還附帶了一個程序,用于生成測試圖片: 最簡單的基于FFmpeg的libswscale的示例附件:測試圖片生成工具

8.FFmpeg封裝格式的處理

使用FFmpeg進行封裝格式的處理,主要是通過AVFormat完成。有關封裝格式的處理,做了3個例子:

封裝格式轉換器:最簡單的基于FFMPEG的封裝格式轉換器(無編解碼)

視音頻分離器簡化版(demuxer-simple):最簡單的基于FFmpeg的封裝格式處理:視音頻分離器簡化版(demuxer-simple)

視音頻分離器(demuxer):最簡單的基于FFmpeg的封裝格式處理:視音頻分離器(demuxer)

視音頻復用器(muxer):最簡單的基于FFmpeg的封裝格式處理:視音頻復用器(muxer)

9.FFmpeg流媒體方面的應用

使用FFmpeg進行流媒體方面的應用,主要是流媒體的發送和接收。

直接使用ffmpeg.exe命令行工具的文章:

FFmpeg發送流媒體的命令(UDP,RTP,RTMP)

編程方面做了一個例子:

基于FFmpeg的推流器:最簡單的基于FFmpeg的推流器(以推送RTMP為例)


10.FFmpeg的其他雜項

使用FFmpeg讀寫內存(而非文件)的例子:

內存播放器:最簡單的基于FFmpeg的內存讀寫的例子:內存播放器

內存轉碼器:最簡單的基于FFmpeg的內存讀寫的例子:內存轉碼器


11. ffmpeg在其它平臺下的應用

把FFmpeg應用于AndroidiOS、Windows Phone的示例程序可以參考:

最簡單的基于FFmpeg的移動端例子:Android HelloWorld

最簡單的基于FFmpeg的移動端例子:Android 視頻解碼器

最簡單的基于FFmpeg的移動端例子:Android 視頻解碼器-單個庫版

最簡單的基于FFmpeg的移動端例子:Android 推流器

最簡單的基于FFmpeg的移動端例子:Android 視頻轉碼器

最簡單的基于FFmpeg的移動端例子附件:Android 自帶播放器

最簡單的基于FFmpeg的移動端例子附件:SDL Android HelloWorld

最簡單的基于FFmpeg的移動端例子:IOS HelloWorld

最簡單的基于FFmpeg的移動端例子:IOS 視頻解碼器

最簡單的基于FFmpeg的移動端例子:IOS 推流器

最簡單的基于FFmpeg的移動端例子:IOS 視頻轉碼器

最簡單的基于FFmpeg的移動端例子附件:IOS自帶播放器

最簡單的基于FFmpeg的移動端例子:Windows PhoneHelloWorld



12. ffmpeg相關工程的學習

學習完成ffmpeg,還可以了解一下基于ffmpeg的相關的多媒體開源工程,在這里推薦以下幾個:

12.1 ffdshow

ffdshow是基于ffmpeg的解碼器類庫libavcodec的DirectShow Filter。廣泛安裝在PC上。


有關ffdshow的源代碼分析文章(更新中):

ffdshow 源代碼分析1 : 整體結構
ffdshow 源代碼分析 2: 位圖覆蓋濾鏡(對話框部分Dialog)

ffdshow 源代碼分析 3: 位圖覆蓋濾鏡(設置部分Settings)
ffdshow 源代碼分析 4: 位圖覆蓋濾鏡(濾鏡部分Filter)
ffdshow 源代碼分析 5: 位圖覆蓋濾鏡(總結)
ffdshow 源代碼分析 6: 對解碼器的dll的封裝(libavcodec)
ffdshow 源代碼分析 7: libavcodec視頻解碼器類(TvideoCodecLibavcodec)
ffdshow 源代碼分析 8: 視頻解碼器類(TvideoCodecDec)
ffdshow 源代碼分析 9: 編解碼器有關類的總結

12.2 LAV filters

LAV Filter是基于ffmpeg的解碼器類庫libavcodec,以及解封裝器類庫libavformat的DirectShow Filter。廣泛安裝在PC上。

有關LAV Filter的源代碼分析文章:

LAV Filter 源代碼分析 1: 總體結構

LAV Filter 源代碼分析 2: LAV Splitter

LAV Filter 源代碼分析 3: LAV Video (1)

LAV Filter 源代碼分析 4: LAV Video (2)


12.3 Mplayer

Mplayer是linux下使用最廣泛的播放器,也有Windows版本的。其中使用了ffmpeg。


有關Mplayer的源代碼分析文章:

MPlayer源代碼分析

12.4 Media Player Classic - HC

現在廣為使用很多播放器都是構建于Media Player Classic - HC的基礎之上的。


有關Media Player Classic - HC的源代碼分析文章:

Media Player Classic - HC 源代碼分析 1:整體結構
Media Player Classic - HC 源代碼分析 2:核心類 (CMainFrame)(1)
Media Player Classic - HC 源代碼分析 3:核心類 (CMainFrame)(2)
Media Player Classic - HC 源代碼分析 4:核心類 (CMainFrame)(3)
Media Player Classic - HC 源代碼分析 5:關于對話框 (CAboutDlg)
Media Player Classic - HC 源代碼分析 6:MediaInfo選項卡 (CPPageFileMediaInfo)
Media Player Classic - HC 源代碼分析 7:詳細信息選項卡(CPPageFileInfoDetails)

12.5 XBMC

XBMC是一個優秀的自由和開源的(GPL)媒體中心軟件。


有關XBMC源代碼分析文章:

XBMC源代碼分析 1:整體結構以及編譯方法

XBMC源代碼分析 2:Addons(皮膚Skin)

XBMC源代碼分析 3:核心部分(core)-綜述

XBMC源代碼分析 4:視頻播放器(dvdplayer)-解碼器(以ffmpeg為例)

XBMC源代碼簡析 5:視頻播放器(dvdplayer)-解復用器(以ffmpeg為例)

XBMC源代碼分析 6:視頻播放器(dvdplayer)-文件頭(以ffmpeg為例)

XBMC源代碼分析 7:視頻播放器(dvdplayer)-輸入流(以libRTMP為例)

posted on 2017-08-10 22:03 zmj 閱讀(697) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区三区欧美激情| 国产一区二区三区在线免费观看 | 99综合在线| 国产一区二区三区在线观看视频| 亚洲精品免费一区二区三区| 亚洲综合国产激情另类一区| 亚洲一区3d动漫同人无遮挡| 亚洲一区二区少妇| 亚洲字幕一区二区| 久久久久女教师免费一区| 久久在线播放| 亚洲国产第一| 在线中文字幕日韩| 久久精品久久综合| 欧美成人一区二区三区| 欧美日韩国产成人精品| 国产精品美女久久久| 精品粉嫩aⅴ一区二区三区四区| 亚洲欧洲精品一区二区精品久久久| 日韩亚洲国产欧美| 久久国产精品一区二区| 欧美成人精品1314www| 尤物99国产成人精品视频| 国产精品久久亚洲7777| 国产精品家庭影院| 国产老肥熟一区二区三区| 一区福利视频| 亚洲欧美日韩国产另类专区| 欧美wwwwww| 亚洲欧美国产制服动漫| 欧美护士18xxxxhd| 国产偷久久久精品专区| 99re国产精品| 女仆av观看一区| 亚洲一区二区在线免费观看| 欧美第一黄色网| 影音先锋久久资源网| 欧美一激情一区二区三区| 亚洲精品国精品久久99热一| 久久精品国产免费看久久精品 | 狂野欧美激情性xxxx欧美| 欧美日韩一区二区在线视频| 在线观看日韩av先锋影音电影院 | 亚洲成人在线视频网站| 性欧美1819sex性高清| 欧美日韩和欧美的一区二区| 亚洲欧洲免费视频| 亚洲免费高清视频| 麻豆av一区二区三区| 亚洲综合欧美日韩| 国产精品h在线观看| 一区二区三区 在线观看视频 | 夜夜嗨一区二区| 欧美极品影院| 亚洲精品免费在线播放| 欧美激情国产精品| 免播放器亚洲一区| 亚洲人成网站精品片在线观看| 米奇777在线欧美播放| 久久久久久久一区二区三区| 国产一区二区三区无遮挡| 久久精品一本久久99精品| 午夜日韩福利| 好男人免费精品视频| 久久综合狠狠综合久久综合88 | 亚洲欧美99| 亚洲一区二区三区乱码aⅴ| 欧美性理论片在线观看片免费| 一区二区三区.www| av不卡在线| 国产精品午夜在线| 久久精品成人| 久久视频国产精品免费视频在线| 在线观看亚洲视频啊啊啊啊| 欧美va亚洲va日韩∨a综合色| 嫩草影视亚洲| 在线视频一区观看| 亚洲一区二区三区中文字幕| 国产日韩三区| 亚洲高清免费在线| 欧美性理论片在线观看片免费| 午夜一区在线| 久久天堂av综合合色| 日韩视频免费观看高清在线视频| 亚洲伦理精品| 国产视频综合在线| 欧美激情成人在线视频| 欧美日韩成人综合在线一区二区 | 欧美 日韩 国产 一区| 欧美成人免费网| 一区二区三区蜜桃网| 亚洲一区制服诱惑| 永久91嫩草亚洲精品人人| 亚洲欧洲精品一区二区| 欧美日韩一区二区视频在线| 久久av资源网| 欧美国产高潮xxxx1819| 亚洲欧美精品伊人久久| 久久综合九色九九| 亚洲免费在线电影| 久久婷婷国产综合国色天香| 一本色道久久加勒比88综合| 久久国产视频网站| 在线精品视频免费观看| 看欧美日韩国产| 久久亚洲二区| 亚洲精品久久久久久久久久久| 在线播放不卡| 欧美日韩国产一区二区| 午夜视频一区二区| 亚洲国产专区| 欧美激情1区| 欧美一区二区三区久久精品茉莉花| 国产啪精品视频| 国产精品高清在线| 欧美成人一区在线| 欧美极品影院| 99精品欧美一区二区三区| 国产精品青草综合久久久久99| 美日韩在线观看| 一区二区三区四区五区在线| 国产精品一级在线| 国产精品入口夜色视频大尺度| 欧美日韩黄色一区二区| 久久精品免费看| 另类天堂av| 麻豆9191精品国产| 欧美日韩123| 国产亚洲亚洲| 亚洲人成久久| 久久青草福利网站| 亚洲毛片在线免费观看| 欧美一区日韩一区| 亚洲一区日韩| 欧美成人综合在线| 国产精品日本一区二区| 亚洲高清三级视频| 影音先锋亚洲视频| 国产日韩亚洲欧美| 在线免费不卡视频| 亚洲欧洲精品成人久久奇米网| 亚洲欧美日韩视频二区| 久久久噜噜噜久久人人看| 欧美亚洲成人精品| 亚洲欧洲在线一区| 久久久久久久久岛国免费| 99精品热6080yy久久| 久久精品午夜| 国产色产综合色产在线视频| 亚洲欧美一区二区精品久久久| 欧美在线啊v一区| 亚洲人成在线影院| 久久这里有精品视频| 国产视频亚洲| 欧美在线免费观看视频| 亚洲国产精品一区| 欧美激情中文字幕在线| 国产综合视频在线观看| 久久久999精品| 亚洲欧美在线免费| 国产午夜精品久久久久久免费视 | 亚洲自拍偷拍网址| 国产午夜精品视频| 亚洲欧洲精品成人久久奇米网| 欧美日韩在线免费| 免费欧美网站| 国产视频在线一区二区 | 久久国产精品毛片| 中文国产一区| 欧美—级高清免费播放| 国产精品私拍pans大尺度在线| 国产一区白浆| 亚洲成人在线视频播放 | 午夜精品在线观看| 亚洲精品一线二线三线无人区| 中文亚洲免费| 亚洲精品视频在线看| 欧美激情亚洲视频| 国产日韩欧美综合| 亚洲国产婷婷综合在线精品| 亚洲电影免费观看高清完整版在线观看 | 欧美激情片在线观看| 国产精品久久久久aaaa樱花| 在线综合+亚洲+欧美中文字幕| 欧美综合国产精品久久丁香| 一区二区欧美视频| 欧美一级二级三级蜜桃| 欧美福利视频在线观看| 国产精品99久久久久久宅男| 狠狠色狠狠色综合日日小说| 性做久久久久久久免费看| 中文日韩在线| 久久久久国产精品厨房| 欧美亚洲一区二区在线| 日韩午夜av在线| 久久久久久国产精品mv| 亚洲一区二区三区在线观看视频| 久久综合电影一区| 亚洲精品国产欧美| 久久久亚洲国产美女国产盗摄|