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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android平台屏幕/摄像头或外部数据采集及RTMP推送接口设计描述

發布時間:2025/3/12 Android 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android平台屏幕/摄像头或外部数据采集及RTMP推送接口设计描述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

好多開發者提到,為什么大牛直播SDK的Android平臺RTMP推送接口怎么這么多?不像一些開源或者商業RTMP推送一樣,就幾個接口,簡單明了。

不解釋,以Android平臺RTMP推送模塊常用接口,看看這些接口有沒有存在的意義?本文簡單介紹,全當拋磚引玉,相關資料,可參考 Github:

1. 初始化Publisher接口,返回推送實例句柄:

/*** Open publisher(啟動推送實例)** @param ctx: get by this.getApplicationContext()* * @param audio_opt:* if 0: 不推送音頻* if 1: 推送編碼前音頻(PCM)* if 2: 推送編碼后音頻(aac/pcma/pcmu/speex).* * @param video_opt:* if 0: 不推送視頻* if 1: 推送編碼前視頻(YUV420SP/YUV420P/RGBA/ARGB)* if 2: 推送編碼后視頻(H.264)** @param width: capture width; height: capture height.** <pre>This function must be called firstly.</pre>** @return the handle of publisher instance*/public native long SmartPublisherOpen(Object ctx, int audio_opt, int video_opt, int width, int height);

2. 相關Event事件回調,如網絡狀態、實時快照、錄像狀態等回調:

/*** Set callback event(設置事件回調)* * @param callbackv2: callback function* * @return {0} if successful*/public native int SetSmartPublisherEventCallbackV2(long handle, NTSmartEventCallbackV2 callbackv2); class EventHandeV2 implements NTSmartEventCallbackV2 {@Overridepublic void onNTSmartEventCallbackV2(long handle, int id, long param1, long param2, String param3, String param4, Object param5) {Log.i(TAG, "EventHandeV2: handle=" + handle + " id:" + id);String publisher_event = "";switch (id) {case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_STARTED:publisher_event = "開始..";break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_CONNECTING:publisher_event = "連接中..";break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_CONNECTION_FAILED:publisher_event = "連接失敗..";break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_CONNECTED:publisher_event = "連接成功..";break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_DISCONNECTED:publisher_event = "連接斷開..";break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_STOP:publisher_event = "關閉..";break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_RECORDER_START_NEW_FILE:publisher_event = "開始一個新的錄像文件 : " + param3;break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_ONE_RECORDER_FILE_FINISHED:publisher_event = "已生成一個錄像文件 : " + param3;break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_SEND_DELAY:publisher_event = "發送時延: " + param1 + " 幀數:" + param2;break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_CAPTURE_IMAGE:publisher_event = "快照: " + param1 + " 路徑:" + param3;if (param1 == 0) {publisher_event = publisher_event + "截取快照成功..";} else {publisher_event = publisher_event + "截取快照失敗..";}break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUBLISHER_RTSP_URL:publisher_event = "RTSP服務URL: " + param3;break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUSH_RTSP_SERVER_RESPONSE_STATUS_CODE:publisher_event ="RTSP status code received, codeID: " + param1 + ", RTSP URL: " + param3;break;case NTSmartEventID.EVENT_DANIULIVE_ERC_PUSH_RTSP_SERVER_NOT_SUPPORT:publisher_event ="服務器不支持RTSP推送, 推送的RTSP URL: " + param3;break;}String str = "當前回調狀態:" + publisher_event;Log.i(TAG, str);Message message = new Message();message.what = PUBLISHER_EVENT_MSG;message.obj = publisher_event;handler.sendMessage(message);}}

3. 檢測/設置軟硬編碼:

/*** Set Video H.264 HW Encoder, if support HW encoder, it will return 0(設置H.264硬編碼)* * @param kbps: the kbps of different resolution(25 fps).* * @return {0} if successful*/public native int SetSmartPublisherVideoHWEncoder(long handle, int kbps);/*** Set Video H.265(hevc) hardware encoder, if support H.265(hevc) hardware encoder, it will return 0(設置H.265硬編碼)** @param kbps: the kbps of different resolution(25 fps).** @return {0} if successful*/public native int SetSmartPublisherVideoHevcHWEncoder(long handle, int kbps);

4. 設置文字水印、PNG圖片水印:

/*** Set Text water-mark(設置文字水印)* * @param fontSize: it should be "MEDIUM", "SMALL", "BIG"* * @param waterPostion: it should be "TOPLEFT", "TOPRIGHT", "BOTTOMLEFT", "BOTTOMRIGHT".* * @param xPading, yPading: the distance of the original picture.* * <pre> The interface is only used for setting font water-mark when publishing stream. </pre> * * @return {0} if successful*/public native int SmartPublisherSetTextWatermark(long handle, String waterText, int isAppendTime, int fontSize, int waterPostion, int xPading, int yPading);/*** Set Text water-mark font file name(設置文字水印字體路徑)** @param fontFileName: font full file name, e.g: /system/fonts/DroidSansFallback.ttf** @return {0} if successful*/public native int SmartPublisherSetTextWatermarkFontFileName(long handle, String fontFileName);/*** Set picture water-mark(設置png圖片水印)* * @param picPath: the picture working path, e.g: /sdcard/logo.png* * @param waterPostion: it should be "TOPLEFT", "TOPRIGHT", "BOTTOMLEFT", "BOTTOMRIGHT".* * @param picWidth, picHeight: picture width & height* * @param xPading, yPading: the distance of the original picture.* * <pre> The interface is only used for setting picture(logo) water-mark when publishing stream, with "*.png" format </pre> * * @return {0} if successful*/public native int SmartPublisherSetPictureWatermark(long handle, String picPath, int waterPostion, int picWidth, int picHeight, int xPading, int yPading);

5. 軟編碼可變碼率設置(如攝像頭采集編碼,在設備性能允許的情況下,可以考慮軟編碼可變碼率):

/*** Set software encode vbr mode(軟編碼可變碼率).** <pre>please set before SmartPublisherStart while after SmartPublisherOpen.</pre>** is_enable_vbr: if 0: NOT enable vbr mode, 1: enable vbr** video_quality: vbr video quality, range with (1,50), default 23** vbr_max_kbitrate: vbr max encode bit-rate(kbps)** @return {0} if successful*/public native int SmartPublisherSetSwVBRMode(long handle, int is_enable_vbr, int video_quality, int vbr_max_kbitrate);

6. 幀率、軟編碼碼率、關鍵幀間隔,編碼速度、軟編碼profile等基礎設定:

/*** Set gop interval(設置I幀間隔)** <pre>please set before SmartPublisherStart while after SmartPublisherOpen.</pre>** gopInterval: encode I frame interval, the value always > 0** @return {0} if successful*/public native int SmartPublisherSetGopInterval(long handle, int gopInterval);/*** Set software encode video bit-rate(設置視頻軟編碼bit-rate)** <pre>please set before SmartPublisherStart while after SmartPublisherOpen.</pre>** avgBitRate: average encode bit-rate(kbps)* * maxBitRate: max encode bit-rate(kbps)** @return {0} if successful*/public native int SmartPublisherSetSWVideoBitRate(long handle, int avgBitRate, int maxBitRate);/*** Set fps(設置幀率)** <pre>please set before SmartPublisherStart while after SmartPublisherOpen.</pre>** fps: the fps of video, range with (1,25).** @return {0} if successful*/public native int SmartPublisherSetFPS(long handle, int fps);/*** Set software video encoder profile(設置視頻編碼profile).** <pre>please set before SmartPublisherStart while after SmartPublisherOpen.</pre>** profile: the software video encoder profile, range with (1,3).* * 1: baseline profile* 2: main profile* 3: high profile** @return {0} if successful*/public native int SmartPublisherSetSWVideoEncoderProfile(long handle, int profile);/*** Set software video encoder speed(設置視頻軟編碼編碼速度)* * <pre>please set before SmartPublisherStart while after SmartPublisherOpen.</pre>* * @param speed: range with(1, 6), the default speed is 6. * * if with 1, CPU is lowest.* if with 6, CPU is highest.* * @return {0} if successful*/public native int SmartPublisherSetSWVideoEncoderSpeed(long handle, int speed);

7. 設置audio編碼類型,如AAC編碼、Speex編碼,并設置如AAC編碼碼率等參數:

/*** Set audio encoder type(設置音頻編碼類型)* * @param type: if with 1:AAC, if with 2: SPEEX* * @return {0} if successful*/public native int SmartPublisherSetAudioCodecType(long handle, int type);/*** Set audio encoder bit-rate(設置音頻編碼碼率), 當前只對AAC編碼有效** @param kbit_rate: 碼率(單位是kbps), 如果是0的話將使用默認碼率, 必須大于等于0** @return {0} if successful*/public native int SmartPublisherSetAudioBitRate(long handle, int kbit_rate);/*** Set speex encoder quality(設置speex編碼質量)* * @param quality: range with (0, 10), default value is 8* * @return {0} if successful*/public native int SmartPublisherSetSpeexEncoderQuality(long handle, int quality);

8. 音頻處理,如自動增益控制、噪音抑制:

/*** Set Audio Noise Suppression(設置音頻噪音抑制)* * @param isNS: if with 1:suppress, if with 0: does not suppress* * @return {0} if successful*/public native int SmartPublisherSetNoiseSuppression(long handle, int isNS);/*** Set Audio AGC(設置音頻自動增益控制)* * @param isAGC: if with 1:AGC, if with 0: does not AGC* * @return {0} if successful*/public native int SmartPublisherSetAGC(long handle, int isAGC);

9. 音頻混音接口設置:

/*** 設置混音,目前支持兩路音頻混音** @param is_mix: 1混音, 0不混音, 默認不混音** @return {0} if successful*/public native int SmartPublisherSetAudioMix(long handle, int is_mix);

10. 實時靜音設置:

/*** Set mute or not during publish stream(設置實時靜音)* * @param isMute: if with 1:mute, if with 0: does not mute* * @return {0} if successful*/public native int SmartPublisherSetMute(long handle, int isMute);

11. 音量調整:

/*** 設置輸入音量, 這個接口一般不建議調用, 在一些特殊情況下可能會用, 一般不建議放大音量** @param index: 一般是0和1, 如果沒有混音的只用0, 有混音的話, 0,1分別設置音量** @param volume: 音量,默認是1.0,范圍是[0.0, 5.0], 設置成0靜音, 1音量不變** @return {0} if successful*/public native int SmartPublisherSetInputAudioVolume(long handle, int index, float volume);

12. 前置攝像頭鏡像:

/*** Set mirror(設置前置攝像頭鏡像)* * @param isMirror: if with 1:mirror mode, if with 0: normal mode* * Please note when with "mirror mode", the publisher and player with the same echo direction* * @return {0} if successful*/public native int SmartPublisherSetMirror(long handle, int isMirror);

13. 錄像相關配置,如只錄制音頻或視頻,單個文件最大size,錄像存放目錄,開始/暫停/停止錄像:

/*** 音頻錄制開關, 目的是為了更細粒度的去控制錄像, 一般不需要調用這個接口, 這個接口使用場景比如同時推送音視頻,但只想錄制視頻,可以調用這個接口關閉音頻錄制** @param is_recoder: 0: do not recorder; 1: recorder; sdk默認是1** @return {0} if successful*/public native int SmartPublisherSetRecorderAudio(long handle, int is_recoder);/*** 視頻錄制開關, 目的是為了更細粒度的去控制錄像, 一般不需要調用這個接口, 這個接口使用場景比如同時推送音視頻,但只想錄制音頻,可以調用這個接口關閉視頻錄制** @param is_recoder: 0: do not recorder; 1: recorder; sdk默認是1** @return {0} if successful*/public native int SmartPublisherSetRecorderVideo(long handle, int is_recoder);/*** Create file directory(創建錄像存放目錄)* * @param path, E.g: /sdcard/daniulive/rec* * <pre> The interface is only used for recording the stream data to local side. </pre> * * @return {0} if successful*/public native int SmartPublisherCreateFileDirectory(String path);/*** Set recorder directory(設置錄像存放目錄)* * @param path: the directory of recorder file.* * <pre> NOTE: make sure the path should be existed, or else the setting failed. </pre>* * @return {0} if successful*/public native int SmartPublisherSetRecorderDirectory(long handle, String path);/*** Set the size of every recorded file(設置單個錄像文件大小,如超過最大文件大小,自動切換到下個文件錄制)* * @param size: (MB), (5M~500M), if not in this range, set default size with 200MB.* * @return {0} if successful*/public native int SmartPublisherSetRecorderFileMaxSize(long handle, int size);/*** Start recorder(開始錄像)** @return {0} if successful*/public native int SmartPublisherStartRecorder(long handle);/*** Pause recorder(暫停/恢復錄像)** is_pause: 1表示暫停, 0表示恢復錄像, 輸入其他值將調用失敗** @return {0} if successful*/public native int SmartPublisherPauseRecorder(long handle, int is_pause);/*** Stop recorder(停止錄像)** @return {0} if successful*/public native int SmartPublisherStopRecorder(long handle);

14. 實時快照:

/*** Set if needs to save image during publishing stream(設置是否啟用快照)** @param is_save_image: if with 1, it will save current image via the interface of SmartPlayerSaveImage(), if with 0: does not it** @return {0} if successful*/public native int SmartPublisherSaveImageFlag(long handle, int is_save_image);/*** Save current image during publishing stream(實時快照)** @param imageName: image name, which including fully path, "/sdcard/daniuliveimage/daniu.png", etc.** @return {0} if successful*/public native int SmartPublisherSaveCurImage(long handle, String imageName);

15. 設置推送的RTMP URL:

/*** Set rtmp publish stream url(設置推送的RTMP url)** @param url: rtmp publish url.** @return {0} if successful*/public native int SmartPublisherSetURL(long handle, String url);

16.?Android攝像頭前后camera通過OnPreviewFrame()回調的數據接口:

@Overridepublic void onPreviewFrame(byte[] data, Camera camera) {frameCount++;if (frameCount % 3000 == 0) {Log.i("OnPre", "gc+");System.gc();Log.i("OnPre", "gc-");}if (data == null) {Parameters params = camera.getParameters();Size size = params.getPreviewSize();int bufferSize = (((size.width | 0x1f) + 1) * size.height * ImageFormat.getBitsPerPixel(params.getPreviewFormat())) / 8;camera.addCallbackBuffer(new byte[bufferSize]);} else {if (isRTSPPublisherRunning || isPushingRtmp || isRecording || isPushingRtsp) {libPublisher.SmartPublisherOnCaptureVideoData(publisherHandle, data, data.length, currentCameraType, currentOrigentation);}camera.addCallbackBuffer(data);}}

?對應接口定義:

/*** Set live video data(no encoded data).** @param cameraType: CAMERA_FACING_BACK with 0, CAMERA_FACING_FRONT with 1*?* @param curOrg:* PORTRAIT = 1;????//豎屏* LANDSCAPE = 2;????//橫屏 home鍵在右邊的情況* LANDSCAPE_LEFT_HOME_KEY = 3; //橫屏 home鍵在左邊的情況** @return {0} if successful*/public native int SmartPublisherOnCaptureVideoData(long handle, byte[] data, int len, int cameraType, int curOrg);

17. 部分定制設備,只支持YV12的數據:

????/*** YV12數據接口** @param data: YV12 data** @param width: 圖像寬** @param height: 圖像高** @param y_stride: ?y面步長** @param v_stride: v面步長** @param u_stride: u面步長** rotation_degree: 順時針旋轉, 必須是0, 90, 180, 270** @return {0} if successful*/public native int SmartPublisherOnYV12Data(long handle, byte[] data, int width, int height, int y_stride, ?int v_stride, int u_stride, int rotation_degree);

18. 支持NV21數據接口:

nv21數據接口,除了用于常規的camera數據接入外,部分定制攝像頭出來的數據發生翻轉,這個接口也支持。

????/*** NV21數據接口** @param data: nv21 data** @param len: data length** @param width: 圖像寬** @param height: 圖像高** @param y_stride: ?y面步長** @param uv_stride: ?uv面步長** rotation_degree: 順時針旋轉, 必須是0, 90, 180, 270** @return {0} if successful*/public native int SmartPublisherOnNV21Data(long handle, byte[] data, int len, int width, int height, int y_stride, ?int uv_stride, int rotation_degree);/*** NV21數據接口** @param data: nv21 data** @param len: data length** @param width: 圖像寬** @param height: 圖像高** @param y_stride: ?y面步長** @param uv_stride: ?uv面步長** rotation_degree: 順時針旋轉, 必須是0, 90, 180, 270** @param ?is_vertical_flip: 是否垂直翻轉, 0不翻轉, 1翻轉** @param ?is_horizontal_flip:是否水平翻轉, 0不翻轉, 1翻轉** @return {0} if successful*/public native int SmartPublisherOnNV21DataV2(long handle, byte[] data, int len, int width, int height, int y_stride, ?int uv_stride, int rotation_degree,int is_vertical_flip, int is_horizontal_flip);

19. 支持YUV數據接入:

????/*** Set live video data(no encoded data).** @param data: I420 data*?* @param len: I420 data length*?* @param yStride: y stride*?* @param uStride: u stride*?* @param vStride: v stride** @return {0} if successful*/public native int SmartPublisherOnCaptureVideoI420Data(long handle, ?byte[] data, int len, int yStride, int uStride, int vStride);


20. 支持RGBA數據接入(支持裁剪后數據接入,主要用于同屏場景):

????/*** Set live video data(no encoded data).** @param data: RGBA data*?* @param rowStride: stride information*?* @param width: width*?* @param height: height** @return {0} if successful*/public native int SmartPublisherOnCaptureVideoRGBAData(long handle, ?ByteBuffer data, int rowStride, int width, int height);/*** 投遞裁剪過的RGBA數據** @param data: RGBA data** @param rowStride: stride information** @param width: width** @param height: height** @param clipedLeft: 左; ?clipedTop: 上; clipedwidth: 裁剪后的寬; clipedHeight: 裁剪后的高; 確保傳下去裁剪后的寬、高均為偶數** @return {0} if successful*/public native int SmartPublisherOnCaptureVideoClipedRGBAData(long handle, ?ByteBuffer data, int rowStride, int width, int height, int clipedLeft, int clipedTop, int clipedWidth, int clipedHeight);/*** Set live video data(no encoded data).** @param data: ABGR flip vertical(垂直翻轉) data** @param rowStride: stride information** @param width: width** @param height: height** @return {0} if successful*/public native int SmartPublisherOnCaptureVideoABGRFlipVerticalData(long handle, ?ByteBuffer data, int rowStride, int width, int height);

21. 支持RGB565數據接入(主要用于同屏場景):

????/*** Set live video data(no encoded data).** @param data: RGB565 data** @param row_stride: stride information** @param width: width** @param height: height** @return {0} if successful*/public native int SmartPublisherOnCaptureVideoRGB565Data(long handle,ByteBuffer data, int row_stride, int width, int height);

22.?支持camera數據接入(主要用于camera2接口對接):
????

/** ?專門為android.media.Image的android.graphics.ImageFormat.YUV_420_888格式提供的接口** @param ?width: 必須是8的倍數** @param ?height: 必須是8的倍數** @param ?crop_left: 剪切左上角水平坐標, 一般根據android.media.Image.getCropRect() 填充** @param ?crop_top: 剪切左上角垂直坐標, 一般根據android.media.Image.getCropRect() 填充** @param ?crop_width: 必須是8的倍數, 填0將忽略這個參數, 一般根據android.media.Image.getCropRect() 填充** @param ?crop_height: 必須是8的倍數, 填0將忽略這個參數,一般根據android.media.Image.getCropRect() 填充** @param y_plane 對應android.media.Image.Plane[0].getBuffer()** @param y_row_stride 對應android.media.Image.Plane[0].getRowStride()** @param u_plane 對應android.media.Image.Plane[1].getBuffer()** @param v_plane 對應android.media.Image.Plane[2].getBuffer()** @param uv_row_stride 對應android.media.Image.Plane[1].getRowStride()** @param uv_pixel_stride 對應android.media.Image.Plane[1].getPixelStride()** @param ?rotation_degree: 順時針旋轉, 必須是0, 90, 180, 270** @param ?is_vertical_flip: 是否垂直翻轉, 0不翻轉, 1翻轉** @param ?is_horizontal_flip:是否水平翻轉, 0不翻轉, 1翻轉** @param ?scale_width: 縮放寬,必須是8的倍數, 0不縮放** @param ?scale_height: 縮放高, 必須是8的倍數, 0不縮放** @param ?scale_filter_mode: 縮放質量, 范圍必須是[1,3], 傳0使用默認速度** @return {0} if successful*/public native int SmartPublisherOnImageYUV420888(long handle, int width, int height,int crop_left, int crop_top, int crop_width, int crop_height,ByteBuffer y_plane, int y_row_stride,ByteBuffer u_plane, ByteBuffer v_plane, int uv_row_stride, int uv_pixel_stride,int rotation_degree, int is_vertical_flip, int is_horizontal_flip,int scale_width, int scale_height, int scale_filter_mode);

23.?支持PCM數據接入:
?

????/*** 傳遞PCM音頻數據給SDK, 每10ms音頻數據傳入一次*?* ?@param pcmdata: pcm數據, 需要使用ByteBuffer.allocateDirect分配, ByteBuffer.isDirect()是true的才行.* ?@param size: pcm數據大小* ?@param sample_rate: 采樣率,當前只支持{44100, 8000, 16000, 24000, 32000, 48000}, 推薦44100* ?@param channel: 通道, 當前通道支持單通道(1)和雙通道(2),推薦單通道(1)* ?@param per_channel_sample_number: 這個請傳入的是 sample_rate/100*/public native int SmartPublisherOnPCMData(long handle, ByteBuffer pcmdata, int size, int sample_rate, int channel, int per_channel_sample_number);/*** 傳遞PCM音頻數據給SDK, 每10ms音頻數據傳入一次** ?@param pcmdata: pcm數據, 需要使用ByteBuffer.allocateDirect分配, ByteBuffer.isDirect()是true的才行.* ?@param offset: pcmdata的偏移* ?@param size: pcm數據大小* ?@param sample_rate: 采樣率,當前只支持{44100, 8000, 16000, 24000, 32000, 48000}, 推薦44100* ?@param channel: 通道, 當前通道支持單通道(1)和雙通道(2),推薦單通道(1)* ?@param per_channel_sample_number: 這個請傳入的是 sample_rate/100*/public native int SmartPublisherOnPCMDataV2(long handle, ByteBuffer pcmdata, int offset, int size, int sample_rate, int channel, int per_channel_sample_number);/*** 傳遞PCM音頻數據給SDK, 每10ms音頻數據傳入一次** ?@param pcm_short_array: pcm數據, short是native endian order* ?@param offset: 數組偏移* ?@param len: 數組項數* ?@param sample_rate: 采樣率,當前只支持{44100, 8000, 16000, 24000, 32000, 48000}, 推薦44100* ?@param channel: 通道, 當前通道支持單通道(1)和雙通道(2),推薦單通道(1)* ?@param per_channel_sample_number: 這個請傳入的是 sample_rate/100*/public native int SmartPublisherOnPCMShortArray(long handle, short[] pcm_short_array, int offset, int len, int sample_rate, int channel, int per_channel_sample_number);

24.?支持遠端PCM數據接入和混音后PCM數據接入(主要用于一對一互動):? ??

/*** Set far end pcm data*?* @param pcmdata : 16bit pcm data* @param sampleRate: audio sample rate* @param channel: auido channel* @param per_channel_sample_number: per channel sample numbers* @param is_low_latency: if with 0, it is not low_latency, if with 1, it is low_latency* @return {0} if successful*/public native int SmartPublisherOnFarEndPCMData(long handle, ?ByteBuffer pcmdata, int sampleRate, int channel, int per_channel_sample_number, int is_low_latency);/*** 傳遞PCM混音音頻數據給SDK, 每10ms音頻數據傳入一次** ?@param stream_index: 當前只能傳1, 傳其他返回錯誤* ?@param pcm_data: pcm數據, 需要使用ByteBuffer.allocateDirect分配, ByteBuffer.isDirect()是true的才行.* ?@param offset: pcmdata的偏移* ?@param size: pcm數據大小* ?@param sample_rate: 采樣率,當前只支持{44100, 8000, 16000, 24000, 32000, 48000}* ?@param channels: 通道, 當前通道支持單通道(1)和雙通道(2)* ?@param per_channel_sample_number: 這個請傳入的是 sample_rate/100*/public native int SmartPublisherOnMixPCMData(long handle, int stream_index, ByteBuffer pcm_data, int offset, int size, int sample_rate, int channels, int per_channel_sample_number);/*** 傳遞PCM混音音頻數據給SDK, 每10ms音頻數據傳入一次** ?@param stream_index: 當前只能傳1, 傳其他返回錯誤* ?@param pcm_short_array: pcm數據, short是native endian order* ?@param offset: 數組偏移* ?@param len: 數組項數* ?@param sample_rate: 采樣率,當前只支持{44100, 8000, 16000, 24000, 32000, 48000}* ?@param channels: 通道, 當前通道支持單通道(1)和雙通道(2)* ?@param per_channel_sample_number: 這個請傳入的是 sample_rate/100*/public native int SmartPublisherOnMixPCMShortArray(long handle, int stream_index, short[] pcm_short_array, int offset, int len, int sample_rate, int channels, int per_channel_sample_number);

25. H264擴展SEI消息:

/*** 設置發送隊列大小,為保證實時性,默認大小為3, 必須設置一個大于0的數** @param max_size: 隊列最大長度** @param reserve: 保留字段** NOTE: 1. 如果數據超過隊列大小,將丟掉隊頭數據; 2. 這個接口請在 StartPublisher 之前調用** @return {0} if successful*/public native int SmartPublisherSetPostUserDataQueueMaxSize(long handle, int max_size, int reserve);/*** 清空用戶數據隊列, 有些情況可能會用到,比如發送隊列里面有4條消息再等待發送,又想把最新的消息快速發出去, 可以先清除掉正在排隊消息, 再調用PostUserXXX** @return {0} if successful*/public native int SmartPublisherClearPostUserDataQueue(long handle);/*** 發送二進制數據** NOTE:* 1.目前數據大小限制在256個字節以內,太大可能會影響視頻傳輸,如果有特殊需求,需要增大限制,請聯系我們* 2. 如果積累的數據超過了設置的隊列大小,之前的隊頭數據將被丟棄* 3. 必須再調用StartPublisher之后再發送數據** @param data: 二進制數據** @param size: 數據大小** @param reserve: 保留字段** @return {0} if successful*/public native int SmartPublisherPostUserData(long handle, byte[] data, int size, int reserve);/*** 發送utf8字符串** NOTE:* 1. 字符串長度不能超過256, 太大可能會影響視頻傳輸,如果有特殊需求,需要增大限制,請聯系我們* 2. 如果積累的數據超過了設置的隊列大小,之前的隊頭數據將被丟棄* 3. 必須再調用StartPublisher之后再發送數據** @param utf8_str: utf8字符串** @param reserve: 保留字段** @return {0} if successful*/public native int SmartPublisherPostUserUTF8StringData(long handle, String utf8_str, int reserve);

26. 關閉推送實例:

/*** 關閉推送實例,結束時必須調用close接口釋放資源** @return {0} if successful*/public native int SmartPublisherClose(long handle);

?

總結

以上是生活随笔為你收集整理的Android平台屏幕/摄像头或外部数据采集及RTMP推送接口设计描述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美激情视频三区 | 在线亚洲成人 | 久久国产片 | 国产亚洲情侣一区二区无 | 在线视频日韩精品 | 99国产精品久久久久久久久久 | va视频在线观看 | 午夜在线观看影院 | 国产成人精品在线播放 | 岛国大片免费视频 | 五月天久久久久 | 麻豆久久久久久久 | 久久久久久97三级 | 免费看片网址 | 免费日韩av电影 | 国产精品手机视频 | 国产美女精彩久久 | 色欧美成人精品a∨在线观看 | 国产成人精品一区二区在线 | 国产r级在线观看 | av线上看 | 久久伊人国产精品 | 久久综合免费 | 日韩乱理 | 黄色av免费| 久久精品一区二区三区中文字幕 | 欧美男同视频网站 | 亚洲在线精品视频 | 在线观看av国产 | 国内精品久久久久影院日本资源 | 国产精品毛片久久久久久久久久99999999 | 丁香电影小说免费视频观看 | 特级大胆西西4444www | 久久福利综合 | 欧美日韩一区二区在线观看 | av成人在线播放 | 精品国产aⅴ麻豆 | 91在线亚洲 | 国产精品99久久久精品 | 国产很黄很色的视频 | 97成人在线免费视频 | 在线播放视频一区 | 久久成人在线 | 91av精品 | 五月激情站| 精品久久久99 | 在线激情小视频 | 中文字幕网站 | 欧美色图亚洲图片 | 丰满少妇高潮在线观看 | 99久久精品久久久久久动态片 | 九九热免费在线观看 | 91av在线电影| 天天操福利视频 | 国产精品男女 | 亚洲毛片一区二区三区 | 国产精品久久久毛片 | 午夜神马福利 | 久久久麻豆精品一区二区 | 99久久精品免费看国产一区二区三区 | 久久久久免费网站 | 激情偷乱人伦小说视频在线观看 | 激情婷婷在线观看 | 国产人成一区二区三区影院 | 欧美一级黄色视屏 | 午夜精品福利在线 | 丁香婷婷电影 | 亚洲精品久久久久www | 黄p网站在线观看 | 久久久久久毛片 | 国产精品女同一区二区三区久久夜 | 精品国内自产拍在线观看视频 | 九九视频免费在线观看 | 国产中文字幕免费 | 国产不卡视频在线播放 | 手机在线永久免费观看av片 | av成年人电影 | 在线成人看片 | 日批视频在线播放 | 香蕉视频网址 | 中文字幕在线精品 | 狠狠干狠狠操 | 九九色在线观看 | 天天干人人 | 色诱亚洲精品久久久久久 | 成人精品国产免费网站 | 久久综合丁香 | 天天综合网久久综合网 | 久久精品国产美女 | 中文字幕在线观看亚洲 | 精精国产xxxx视频在线播放 | 国产一区视频导航 | 狠狠色丁香婷婷综合久久片 | 久久综合导航 | 国产美女精品视频免费观看 | 一区二区三区免费 | 天天爱天天舔 | 最新日本中文字幕 | 成人一级在线观看 | 日韩高清精品免费观看 | 97av视频 | 91少妇精拍在线播放 | 欧美精品在线一区 | 免费看片黄色 | 亚洲精品国产精品国自 | 亚洲精品免费在线观看视频 | 亚洲国产精品成人精品 | 久久久国产精品网站 | 日本在线视频网址 | 操操爽| 狠狠的日 | 黄污视频网站大全 | 亚洲综合在线五月天 | 好看的国产精品视频 | 涩涩网站在线看 | 狠狠操天天射 | 91在线国产观看 | 国产不卡在线 | 亚洲视频在线播放 | 亚洲国产成人精品电影在线观看 | 99视频在线免费看 | 在线黄色免费av | 国内精品久久久久久久久 | 99久久电影 | 午夜精品久久 | 国产一区二区视频在线播放 | 久久久久久久久久久免费视频 | 视频 国产区 | 天天天操天天天干 | 亚洲人成在 | 香蕉在线观看视频 | 五月开心六月伊人色婷婷 | 日韩电影中文字幕在线 | 天天视频色版 | 天天操夜夜逼 | 国内精品久久久久久久久久清纯 | 亚洲国产中文字幕 | 日本精品在线视频 | 丝袜美腿在线视频 | 天天干天天插 | 亚洲高清免费在线 | 亚洲欧洲精品一区 | 精品视频区 | 久久久成人精品 | 国产精品不卡在线播放 | 中文字幕欧美三区 | 玖玖精品在线 | 日韩成人邪恶影片 | 午夜av一区 | 国产麻豆视频网站 | 免费观看黄 | 激情五月亚洲 | 亚洲精品 在线视频 | 四虎国产永久在线精品 | 91色偷偷 | 亚洲尺码电影av久久 | av黄色av| 天天躁日日 | 亚洲成色777777在线观看影院 | 九九综合九九 | 韩国av电影网| 91在线网站 | 国产视频高清 | av夜夜操 | 一区二区 不卡 | 久草在线手机视频 | 狠狠的干| 00av视频| 精品免费观看 | 中文字幕999 | 国产成人精品综合久久久 | 91香蕉视频黄| 超碰在线观看99 | 五月激情五月激情 | 一区二区三区日韩精品 | 婷婷在线免费 | 在线观看国产高清视频 | 日韩美精品视频 | 久久综合五月婷婷 | 中文字幕在线视频免费播放 | 日韩精品一区电影 | 特级西西444www大精品视频免费看 | 最新av在线网址 | 国产成人在线观看免费 | 西西人体www444 | 亚洲欧美经典 | 亚洲国产中文字幕在线视频综合 | 久久情网 | 欧美日本不卡高清 | 婷婷久久久久 | 成人久久久久久久久 | 中文字幕影片免费在线观看 | 免费视频91| 黄色三级网站在线观看 | 日本黄区免费视频观看 | 日韩久久午夜一级啪啪 | 五月天亚洲激情 | 操处女逼 | 少妇高潮冒白浆 | 国产h片在线观看 | 青青草久草在线 | 91最新网址在线观看 | 日韩精品极品视频 | 2019精品手机国产品在线 | 97在线视频免费看 | 91精品爽啪蜜夜国产在线播放 | 激情五月色播五月 | 免费看污的网站 | 中文字幕一区在线观看视频 | 婷婷视频在线观看 | 欧美日韩在线视频免费 | 午夜精品一区二区国产 | 亚洲 欧美 综合 在线 精品 | 免费情缘 | freejavvideo日本免费 | 99re久久资源最新地址 | 69视频在线 | 日韩av在线网站 | 婷婷在线色| 91插插插免费视频 | 欧日韩在线| 天天综合天天做天天综合 | 成人福利av | 在线视频你懂得 | 久久久国产精品人人片99精片欧美一 | 成人免费影院 | 国产99re| 亚洲欧美国产精品18p | 国产福利一区二区三区视频 | 色99视频| 青青河边草免费视频 | 亚洲国产片色 | 女人高潮特级毛片 | 国产91精品一区二区 | 天天操天天干天天 | 中文字幕在线国产 | 日韩高清成人 | 99这里只有精品99 | 婷婷激情综合网 | 日韩资源在线播放 | 色偷偷97 | 日韩av高清 | 婷婷网五月天 | 国产精品毛片一区视频 | 欧美另类交在线观看 | 在线观看成人国产 | 婷婷久久一区 | 久久久久久毛片 | 最新精品视频在线 | 国产精品福利无圣光在线一区 | a天堂最新版中文在线地址 久久99久久精品国产 | 亚洲片在线| 99久久免费看 | 麻豆系列在线观看 | 国产精品久久久久久久久久久久午夜 | 久久字幕精品一区 | 最近2019中文免费高清视频观看www99 | 国产91免费观看 | 久久精品视频在线播放 | 婷婷激情五月 | 深爱激情综合 | 天天摸天天干天天操天天射 | 欧美一区二区三区在线看 | 久久毛片高清国产 | 丁香九月激情综合 | 日韩理论| 亚洲视频免费在线观看 | 天天操比| 亚洲免费专区 | 国产福利中文字幕 | 日本久久久久 | 成人av中文字幕 | 97在线精品视频 | 欧美激情第十页 | 二区三区在线视频 | 成年人免费电影在线观看 | www亚洲精品| 国产精品激情在线观看 | 制服丝袜欧美 | 天天摸天天弄 | 玖玖精品视频 | 国产一区高清在线观看 | 欧美成人精品三级在线观看播放 | 丁香激情综合 | 国产精品视频999 | 亚洲国产成人高清精品 | 色午夜影院 | 日本中文字幕在线 | 在线观看视频黄 | 亚洲成人免费观看 | 国产精品免费一区二区三区在线观看 | 中文字幕第 | 久久久久久麻豆 | 夜又临在线观看 | 色综合天天狠狠 | 欧美激情第十页 | 国产高清精 | 人人搞人人爽 | 成人aⅴ视频 | 国产精品一区二区电影 | 日日干夜夜草 | 91视频 - 114av | 国产成人av在线 | 日韩精品免费一区二区三区 | 国产免费观看高清完整版 | 91完整版在线观看 | 丁香激情婷婷 | 特级片免费看 | 91香蕉视频色版 | 亚洲精品在线观看免费 | 久久这里只有精品视频首页 | 国产剧情一区 | 久久黄色美女 | 欧美日韩国产在线一区 | 高清中文字幕 | 亚洲黄色激情小说 | 国产精品黄色 | 久久男人中文字幕资源站 | 手机在线黄色网址 | 综合色在线 | 免费久久片 | 午夜影视剧场 | 999国产精品视频 | 中文字幕一区二区三区精华液 | 麻豆久久精品 | 国产精品欧美久久久久久 | 91精品国产成人 | 久久久久久久久久久久久久电影 | 草久久久 | 91九色视频在线播放 | 99久久久国产精品免费观看 | 日韩欧美在线播放 | 欧美成年性 | 99精品国产99久久久久久福利 | 涩涩网站在线播放 | 国产一级片免费视频 | 亚洲欧洲一级 | 亚洲九九九在线观看 | 国产黄色片久久 | 久久伊人八月婷婷综合激情 | 97成人精品区在线播放 | www.888av | 久久国产剧场电影 | www.婷婷com | 成人久久18免费网站麻豆 | 天天五月天色 | 99久久99视频 | 日韩网站在线观看 | 国产精品自在欧美一区 | 五月激情综合婷婷 | 一级黄毛片 | 人人射av| 日韩最新在线 | 国产高清永久免费 | 日韩视频欧美视频 | 亚洲老妇xxxxxx | 激情六月婷婷久久 | 天天操天天摸天天射 | 国产激情久久久 | 91福利免费 | 国内外成人免费在线视频 | 亚洲精品在线一区二区 | 日本久久综合视频 | 精品亚洲男同gayvideo网站 | 中文字幕一区二区三区在线观看 | 天天操天天操天天操天天操天天操 | 天天干夜夜爽 | 国产剧情一区二区在线观看 | 激情网五月天 | 国产精品久久久久久久久久免费 | 久久96国产精品久久99漫画 | 黄色大全视频 | 国产视频欧美视频 | 日韩精品2区 | 久久视频 | 午夜电影久久久 | 人人爽夜夜爽 | 精品免费一区 | 久久色在线观看 | 啪啪免费视频网站 | 色www精品视频在线观看 | 久久久久久蜜av免费网站 | 999热视频| 91免费版成人 | 国产日韩中文字幕 | 久久综合久久综合这里只有精品 | 成人久久网| 中文国产成人精品久久一 | 亚洲日韩欧美视频 | 91av网站在线观看 | 精品久久久久久久久久久久久久久久久久 | 欧美在线视频一区二区 | 久久精品在线视频 | 亚洲视频在线视频 | 在线导航福利 | 国产一二三精品 | 亚洲日本精品视频 | 国产极品尤物在线 | 国精产品满18岁在线 | 亚洲人成精品久久久久 | 网址你懂的在线观看 | 欧美极品xxxx | 伊在线视频 | 麻豆国产在线播放 | 免费久久片| 国产欧美三级 | 丁香av | 91看片淫黄大片一级在线观看 | 国产精品刺激对白麻豆99 | 国产精品人人做人人爽人人添 | 一区二区三区日韩在线 | av不卡中文 | 天天操夜夜逼 | 一区二区三区四区免费视频 | 96av麻豆蜜桃一区二区 | 射综合网 | 日韩av免费大片 | 精品久久久久久久久久久久久久久久久久 | 天天躁天天躁天天躁婷 | 97超碰资源总站 | 国产福利一区二区三区在线观看 | 美女免费网视频 | 欧美日韩高清在线观看 | 国产精品久久久久久久久久久久冷 | 夜夜高潮夜夜爽国产伦精品 | 亚洲精品色 | 成全免费观看视频 | 久久综合久色欧美综合狠狠 | 91精品人成在线观看 | 69亚洲视频 | 99精品国自产在线 | 五月开心激情网 | 天天弄天天操 | 日韩欧美网址 | 99视频网站| 精品一区二区久久久久久久网站 | a黄色一级 | 免费男女羞羞的视频网站中文字幕 | 久久久高清视频 | 一区二区三区日韩在线 | 国产日韩亚洲 | 96久久 | a级国产片 | 91视频 - x99av| 国产精品久久久久久久久久白浆 | 91刺激视频| 久久精品国产亚洲aⅴ | 国产一区欧美日韩 | 国产精品久久久久一区二区三区共 | 在线观看的av网站 | 久久成人午夜视频 | 狠狠狠色丁香婷婷综合久久五月 | 在线亚洲小视频 | 中文字幕一区二区在线观看 | 麻豆国产精品va在线观看不卡 | 天天射天天干天天 | 中文国产字幕在线观看 | 黄色片网站大全 | 日日碰狠狠添天天爽超碰97久久 | 国产69精品久久久久99 | 奇米影视8888 | 日日夜色 | 亚洲国产高清在线 | 青青草华人在线视频 | 国产亚洲精品久久久久动 | 国产精品18久久久 | 国产成人精品一区一区一区 | 国产不卡在线观看视频 | 香蕉在线视频播放网站 | 国产a国产 | 日韩三级视频在线观看 | 三级毛片视频 | 精品极品在线 | 婷婷日 | 国产一及片 | 国产成人av福利 | 亚洲精品啊啊啊 | 丁香六月国产 | 日本在线成人 | 人人爽人人爽人人爽人人爽 | 中文字幕电影在线 | 高清在线一区二区 | 美女视频黄,久久 | 亚洲区另类春色综合小说 | 成人久久18免费网站麻豆 | 成人一区二区在线 | 国产又粗又猛又色又黄视频 | 欧美日韩3p| 国产精品美女久久久久久久 | 久草视频免费播放 | 在线黄色免费 | 欧美成人精品欧美一级乱黄 | av黄色在线播放 | 精品国产伦一区二区三区免费 | 久久九九网站 | 日本久久久精品视频 | 亚洲人成免费 | 国产视频日韩视频欧美视频 | 日日摸日日添夜夜爽97 | 涩涩资源网 | 免费合欢视频成人app | 天堂av色婷婷一区二区三区 | 国产一级免费观看 | 免费人做人爱www的视 | 日韩高清不卡在线 | www.777奇米 | 在线免费观看的av网站 | 成人福利在线观看 | 91在线国产观看 | 精品国产欧美一区二区 | 国产伦精品一区二区三区高清 | 久久久99精品免费观看乱色 | 成人h电影在线观看 | 一区二区影院 | www.色国产 | 国产成人精品在线 | 日日干综合 | 日韩中文字幕国产精品 | 综合色婷婷 | 日日精品 | 亚洲高清视频在线观看 | 亚洲精品国产精品乱码在线观看 | 美女视频网 | 日韩在线大片 | 精品女同一区二区三区在线观看 | 中文成人字幕 | 日韩av网址在线 | 日韩精品亚洲专区在线观看 | 91在线日韩 | 免费日韩 精品中文字幕视频在线 | 香蕉视频网站在线观看 | 日本一区二区免费在线观看 | 天天色播| 99视频精品免费观看, | 国产成人av片 | 91福利区一区二区三区 | 国产一区二区三区高清播放 | 日韩精品第一区 | www.com操| 91色吧| 91高清完整版在线观看 | 日本在线观看黄色 | 99精品视频在线 | 国产成人综合精品 | 国产色婷婷 | 在线观看av中文字幕 | 色婷婷影视 | 欧美成a人片在线观看久 | 色永久免费视频 | 日日躁夜夜躁xxxxaaaa | 手机在线观看国产精品 | 97人人添人澡人人爽超碰动图 | 久草观看视频 | 91精品视频观看 | 中文在线免费视频 | 91麻豆.com| 网站免费黄 | 成人午夜免费福利 | 国产精品久久久久久久99 | 久久久久国产一区二区三区四区 | 欧美一区日韩精品 | 亚州免费视频 | www国产亚洲| 国产一区黄色 | 五月婷婷综 | 国产在线91精品 | 六月丁香色婷婷 | 在线观看亚洲国产精品 | 在线视频观看91 | 色欧美88888久久久久久影院 | 玖玖色在线观看 | 国产视频日韩视频欧美视频 | 欧美日韩p片 | 亚洲更新最快 | 91精品国产综合久久久久久久 | 日韩av电影一区 | 日韩超碰在线 | 成人免费一区二区三区在线观看 | 国内精品久久天天躁人人爽 | av综合在线观看 | 成人毛片在线观看视频 | 久久这里只有精品视频99 | 日本精品视频在线 | 少妇bbb好爽| 日日干日日 | 狠狠操影视 | 久久你懂得| 国产精品一区二区麻豆 | 国产精品 亚洲精品 | 国产一区黄色 | 久久麻豆精品 | 国产一级不卡视频 | 在线国产一区二区三区 | 丝袜美腿在线播放 | 西西www4444大胆在线 | 日本不卡一区二区 | 国产成人精品av久久 | 中文字幕日韩高清 | 91av原创| 亚洲精品久久久蜜臀下载官网 | 天天干夜夜操视频 | 久久久久久久久久久电影 | www.香蕉视频在线观看 | 欧美精品免费在线 | 国内精品福利视频 | 九九欧美视频 | 成人va视频 | 911av视频| 中文字幕黄网 | 国产精品第一 | 天天草夜夜| 成人黄性视频 | 日韩va欧美va亚洲va久久 | 在线观看黄a | 91禁在线看| 午夜av网站 | 久草视频在线资源站 | 欧美性色综合网 | 天天摸夜夜操 | 黄色影院在线免费观看 | av福利第一导航 | 日日射av | 国产精品久久久久久久久免费看 | 亚洲精品乱码久久久久久蜜桃动漫 | 在线观看av中文字幕 | 日韩欧美视频一区二区 | 91黄色小网站 | 欧美人zozo| 高清有码中文字幕 | 久久欧洲视频 | 日本精品久久久久中文字幕5 | 亚洲精品在线视频网站 | 91大神免费在线观看 | 国产区欧美 | 99国产精品久久久久老师 | 国产一级精品视频 | 国产系列 在线观看 | 国产黑丝袜在线 | 六月丁香色婷婷 | 在线观看91久久久久久 | 成人9ⅰ免费影视网站 | 2024国产精品视频 | 天天操天天摸天天爽 | 久久国产精品色av免费看 | 欧美精品亚州精品 | 一区二区三区四区精品 | 国产在线观看,日本 | 精品国产91亚洲一区二区三区www | 色婷婷国产 | 精品在线免费视频 | 少妇性色午夜淫片aaaze | 伊人天堂网 | 久久av影院 | 在线观看蜜桃视频 | 天天躁日日躁狠狠躁 | 国产精品成人在线观看 | 人人爽人人爽人人片av | 国产精品资源在线 | 在线韩国电影免费观影完整版 | 91看片在线免费观看 | 久久久久久久久久久网站 | 久草在线视频网 | 在线看片91 | 国产黄色精品在线观看 | 午夜av免费 | 久久夜色精品国产欧美乱 | 99国产在线视频 | 免费的黄色的网站 | 国产成人一区二区三区免费看 | 国产精品岛国久久久久久久久红粉 | 国产黑丝一区二区 | 99久久毛片 | 国产一级免费av | 日韩美女av在线 | 在线观看的黄色 | 精品国产伦一区二区三区观看说明 | 国内综合精品午夜久久资源 | 成人免费视频免费观看 | av短片在线 | 久久久www成人免费毛片 | 免费日韩 精品中文字幕视频在线 | 精品久久影院 | 国产免费专区 | 91精品一区二区三区久久久久久 | 国产在线999 | 韩国av免费观看 | 国产一区自拍视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久久 激情 | 成人超碰97 | 亚洲国产精品久久久 | 国产一级特黄毛片在线毛片 | 中文字幕第一页在线视频 | 字幕网在线观看 | 一区二区亚洲精品 | 亚洲国产精久久久久久久 | 国产一区免费看 | 美女视频网 | 国产精品麻豆三级一区视频 | 国产高清在线免费视频 | 久久综合色天天久久综合图片 | 亚洲天天在线 | 97超碰人人模人人人爽人人爱 | 麻豆首页 | 狠狠色丁香久久婷婷综合_中 | 一级精品视频在线观看宜春院 | 欧美福利视频一区 | 久久精品视频在线播放 | 欧美日韩精品在线播放 | 国产精品久久久久久69 | 五月婷婷狠狠 | 精品国产伦一区二区三区观看体验 | 国产.精品.日韩.另类.中文.在线.播放 | 永久中文字幕 | 欧美专区日韩专区 | 美女视频黄免费 | 欧洲不卡av | 久久狠狠婷婷 | 日韩视频免费观看高清完整版在线 | 97色综合 | 天天插日日插 | 国产99久久久精品 | 国产精品都在这里 | 玖玖视频网 | 国产一级电影免费观看 | www.色的| 精品麻豆| 亚洲欧美日韩在线看 | 国产一区二区精品 | 手机在线中文字幕 | 在线之家免费在线观看电影 | 五月亚洲 | 国际精品久久久 | 亚洲欧美日本一区二区三区 | 国内精品久久天天躁人人爽 | 日本夜夜草视频网站 | 久久免费视频网站 | 狠狠操狠狠操 | 日韩欧美视频一区二区 | 黄色三级网站在线观看 | 色在线免费 | 99在线免费视频观看 | 丁香激情综合久久伊人久久 | 日韩精品电影在线播放 | 91国内产香蕉 | 一级片免费观看视频 | 日日夜夜精品免费视频 | 久久社区视频 | 国产精品一区一区三区 | 国产亚洲精品成人av久久ww | 黄色国产在线 | aaa毛片视频 | 免费福利片 | 免费欧美高清视频 | 久久成人高清 | 欧洲激情在线 | 久久er99热精品一区二区三区 | 国产a高清 | 国产高清一区二区 | 国产精品久久久久久久久久久免费 | 中文字幕国产在线 | 免费网址在线播放 | 亚洲精品综合一二三区在线观看 | 亚洲国产操 | 国产精品麻豆果冻传媒在线播放 | 欧美十八| 国产精品久久免费看 | 国产午夜视频在线观看 | 免费h精品视频在线播放 | 亚洲一二区视频 | 黄在线免费看 | 久久公开视频 | 日日夜夜天天操 | 天天天天色射综合 | 久久99视频精品 | 探花视频在线版播放免费观看 | 又污又黄的网站 | 91网站在线视频 | 成人午夜影视 | www.操.com| 91在线看视频免费 | 色悠悠久久综合 | 国产日本高清 | 免费视频久久久久久久 | 亚洲精品免费观看 | 久久av免费电影 | 人人爽久久涩噜噜噜网站 | 亚洲黄色在线观看 | 国产男女无遮挡猛进猛出在线观看 | 亚洲一区日韩在线 | 嫩模bbw搡bbbb搡bbbb | 中文字幕一区二区三区在线播放 | 天天在线视频色 | 国产成人精品免高潮在线观看 | 国产一及片| 亚洲黄色一级大片 | 精品在线二区 | 日韩天天干 | 麻豆一区二区三区视频 | 久久国产99 | 色婷婷啪啪免费在线电影观看 | 99人成在线观看视频 | 日韩精品视频在线观看网址 | 免费高清看电视网站 | 久久久久这里只有精品 | 国产 日韩 在线 亚洲 字幕 中文 | 麻花传媒mv免费观看 | 成人久久久电影 | 精品欧美一区二区在线观看 | 精品国产美女 | 色综合久久综合网 | 麻豆精品视频 | 日韩v欧美v日本v亚洲v国产v | 欧美久久久久久久久久久 | 91av在线视频播放 | 久久福利精品 | 黄在线免费看 | www.激情五月.com | 天天爱天天 | 欧美综合在线视频 | 丝袜制服天堂 | 婷婷色综| 国产精品a久久 | 国产正在播放 | 久久精品99久久久久久2456 | 999久久| a级国产乱理伦片在线播放 久久久久国产精品一区 | 激情久久综合网 | 9999精品视频 | 中文字幕av在线不卡 | 在线视频日韩欧美 | 97国产 | 一区二区精品视频 | 国产精品一区二区在线观看 | 在线观看资源 | 欧美在线观看视频一区二区 | 一级一片免费观看 | 久久综合五月天婷婷伊人 | 精品国产伦一区二区三区观看说明 | 亚洲黄色免费观看 | 久久精品综合网 | 亚洲欧美国产精品久久久久 | 久久免费视频3 | 久久成人精品视频 | 97视频免费 | 日日夜精品| 久久久婷 | 黄色国产大片 | 婷婷播播网 | 亚洲精品在线观看av | 国精产品999国精产品视频 | 欧美日韩视频在线播放 | 成人免费在线播放视频 | 一区二区三区中文字幕在线观看 | 日韩手机视频 | 怡红院成人在线 | 中文字幕在线观看网址 | 欧美与欧洲交xxxx免费观看 | 亚洲精品视频第一页 | 免费av网站在线 | 狠狠色免费 | 国产精品黄色av | 亚洲第一av在线播放 | 久久免费在线 | 亚洲不卡123 | 一区二区三区免费在线观看 | 美女网站在线播放 | 色播99| 亚洲精品91天天久久人人 | 四虎最新入口 | 在线观看成人福利 | 国产精品麻豆三级一区视频 | 免费看色的网站 | 在线91色| 精品国内自产拍在线观看视频 | 在线看黄网站 | 欧美成人aa | 91人人网 | 精品国产成人av在线免 | 中文字幕在线视频一区 | 91高清视频免费 | 国产精品乱码久久久久久1区2区 | 亚洲成人精品影院 | www.大网伊人 | 四虎国产精 | 日韩精品视频第一页 | 嫩草av影院| 丁香在线观看完整电影视频 | 国产精品乱码久久久 | www.亚洲精品 | 日韩欧美亚洲 | 在线免费视频 你懂得 | 国产在线免费av | 国产日韩欧美自拍 | 六月丁香在线观看 | 日韩欧美电影网 | 欧美日韩一级在线 | 欧美一二三区在线播放 | 免费观看9x视频网站在线观看 | 91精品国产成人www | 国产精品成人免费一区久久羞羞 | 成人精品福利 | 香蕉在线观看 | 激情五月五月婷婷 | 欧美性性网 | 日韩特级黄色片 | 91av综合| 97热久久免费频精品99 | 成+人+色综合| 91超碰在线播放 | 亚洲成人黄| 97超视频 | 色综合久久88色综合天天6 | 91在线看视频免费 | 狠狠躁18三区二区一区ai明星 | 欧美性色综合网站 | 久久亚洲二区 | 狠狠狠狠狠狠狠狠干 | 色多多视频在线 | 一级黄色在线免费观看 | 成人黄色小说视频 | 日日夜夜精品视频天天综合网 | 亚洲aⅴ免费在线观看 | 中文一区在线观看 | 精品 激情 | 99热国产在线中文 | 国产精品中文字幕在线观看 | 国产高清网站 | 久久公开视频 | 51久久夜色精品国产麻豆 | 人人澡人人澡人人 | 亚洲另类视频在线 | 91免费高清 | 天天色天天干天天色 | av片子在线观看 | 亚洲h在线播放在线观看h | 国产中文字幕视频在线观看 | 中国一级片在线观看 | 亚洲精品国产成人av在线 | 国产精品激情偷乱一区二区∴ | 久久午夜免费观看 | 91香蕉视频污在线 | 91九色网站| 成人一级电影在线观看 | 黄色高清视频在线观看 | 91在线最新 | 国产精品久久久久久久久久久久冷 | 成年一级片| 一级片色播影院 | 欧美 亚洲 另类 激情 另类 | 久久久久久久久影视 | 亚洲一区动漫 | 亚洲v欧美v国产v在线观看 | 在线免费观看涩涩 | 91大神dom调教在线观看 | 999一区二区三区 | 亚洲理论电影 | 成人av教育| 香蕉视频导航 | 欧美黄色成人 | 国产精品国内免费一区二区三区 | av成人免费在线看 | 国产精品理论片在线播放 | 亚洲精品一区二区18漫画 | 黄色毛片在线看 | 久青草视频在线观看 | 亚洲免费在线视频 | 婷婷综合| 一区三区在线欧 | 免费一级片观看 | 日韩1级片| 深爱激情婷婷网 | 久久精品99国产精品酒店日本 | 夜夜狠狠 | 国产精品国产亚洲精品看不卡15 | 96视频免费在线观看 | 久久黄色网址 | 一二三久久久 | 在线观看日韩免费视频 | 亚洲国产精品视频 | 日韩激情视频在线 | 激情五月开心 | 中文字幕在线免费观看视频 | 久久国产系列 | 国产精品久久久久9999吃药 | 国产麻豆精品95视频 | 91精品国自产在线偷拍蜜桃 | 黄网站色成年免费观看 | 成人欧美一区二区三区在线观看 | 99r精品视频在线观看 | 91精品在线看 | 手机成人在线 | 国产视频1| 在线视频在线观看 | 久久久久国| 日韩精品一区二区三区免费视频观看 | 色综合天天色综合 | 成人国产网址 |