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

歡迎訪問 生活随笔!

生活随笔

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

Android

Android MediaMuxer合成视频文件

發布時間:2023/12/8 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android MediaMuxer合成视频文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
相關筆記: Android MediaCodec簡單總結_丞恤猿的博客-CSDN博客 Android使用MediaCodec進行視頻編碼 & 視頻的一些基礎概念介紹_丞恤猿的博客-CSDN博客 Android用AudioRecord+MediaCodec采集音頻和音頻編碼 & 音頻一些基本概念_丞恤猿的博客-CSDN博客 #.簡介 MediaMuxer在Android中可以將編碼后的視頻、音頻數據封裝后輸出為多媒體文件,支持的文件輸出格式包括MP4,webm和3gp。不過MediaMuxer中最多只能添加一條視軌和一條音軌。 一般音視頻編碼由MediaCodec負責,而MediaMuxer處理MediaCodec輸出的編碼數據,合成多媒體文件。 #主要API 1.public MediaMuxer(@NonNull String path, @Format int format) 設置輸出文件路徑 和 輸出文件的媒體格式 2.addTrack(mediaFormat) 添加多媒體軌道。 在MediaCodec獲取輸出緩沖區索引bufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED時,可以去獲取MediaCodec輸出的媒體格式:MediaFormat mediaFormat = mEncoder.getOutputFormat(); 并為MediaMuxer添加對應媒體格式的軌道。 3.start() 開啟混合器 4.writeSampleData(int trackIndex, ByteBuffer byteBuf, BufferInfo bufferInfo) 處理媒體數據,三個參數依次為:軌道號、數據緩沖區、緩沖區配置信息。 后兩者可以從MediaCodec的輸出緩沖數據獲取到。 5.stop() 關閉混合器 6.release() 釋放實例和對應資源 #處理音視頻數據代碼示例: 其實就是不停調用writeSampleData(int trackIndex, ByteBuffer byteBuf, BufferInfo bufferInfo)來處理MeidaCodec輸出的編碼數據。 (這里為MediaCodec的輸出數據自定義了一個封裝類,以下audio、video都是該封裝類對象) if (null != audio) {ByteBuffer buffer = ByteBuffer.wrap(audio.data);MediaCodec.BufferInfo info = audio.info;//若對應幀包含的是編碼器控制信息,則合成器不需要處理if ((info.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) != 0) {buffer = null;}if (null != buffer && info.size > 0) {buffer.position(info.offset);buffer.limit(info.offset + info.size);try {mMuxer.writeSampleData(mAudioTrack, buffer, info);} catch (Exception e) {//.......進行相關處理........}} }if (null != video) {ByteBuffer buffer = ByteBuffer.wrap(video.data);MediaCodec.BufferInfo info = video.info;//若對應幀包含的是編碼器控制信息,則合成器不需要處理if ((info.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) != 0) {buffer = null;}if (null != buffer && info.size > 0) {buffer.position(info.offset);buffer.limit(info.offset + info.size);try {mMuxer.writeSampleData(mVideoTrack, buffer, info);} catch (Exception e) {//.......進行相關處理........}} }

總結

以上是生活随笔為你收集整理的Android MediaMuxer合成视频文件的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 中国挤奶哺乳午夜片 | 男生女生插插插 | 天天想你在线观看完整版电影免费 | 男生裸体视频网站 | 欧美巨大乳 | 久久国产乱子伦免费精品 | 色屁屁影院www国产高清麻豆 | 欧美性xxxxxx | 一区视频在线播放 | 污污的网站在线免费观看 | 黄色永久网站 | 男人久久 | 毛片在线免费 | 亚洲啪啪网址 | 中文字幕校园春色 | 国产超碰人人 | 成人精品三级av在线看 | 伊人99| 国产裸体美女永久免费无遮挡 | 亚洲最新偷拍 | 久久精品一区二区 | 91丨porny丨露出 | 日本 片 成人 在线 九色麻豆 | 欧美大片一区二区 | 精品一区二区久久久久久按摩 | 在线观看国产区 | 国产一区二区三区观看 | 97在线看 | 免费a在线 | 欧美国产在线观看 | 天天舔日日操 | 狠狠久久婷婷 | 成人三级影院 | 亚洲不卡电影 | 日韩字幕在线观看 | 成人aⅴ视频 | 天天干天天干天天操 | 国产乱来 | 综合久久激情 | 亚洲卡一卡二卡三 | 国产精品乱码久久久久 | 性色一区二区三区 | 男人撒尿视频xvideos | 天天草天天射 | 操操操操操操操操操 | av福利网址| 激情欧美亚洲 | 国产日韩欧美日韩大片 | 日日撸夜夜操 | 人操人 | www.jizzcom| 成人日b视频 | 中文字幕亚洲乱码熟女1区2区 | 成人午夜视频精品一区 | 日韩av线观看 | 国产精品热久久 | 欧美午夜精品久久久久久蜜 | 精品国产乱码久久久久久鸭王1 | av片在线观看网站 | 激情综合影院 | 婷婷亚洲一区 | 91亚洲精选 | 人人妻人人澡人人爽欧美一区 | 超碰在线观看免费 | 日本大尺度吃奶做爰视频 | 影音先锋中文字幕在线视频 | 久久综合九色 | 少妇精品偷拍高潮白浆 | 男人疯狂高潮呻吟视频 | 日本黄色大片免费 | 中文字幕另类 | 免费看黄在线看 | 琪琪秋霞午夜被窝电影网 | 伊人免费视频 | 91九色丨porny丨肉丝 | 国产嫩草在线观看 | 男人的天堂色偷偷 | 韩国精品一区 | c逼视频| 插插射射 | 免费视频毛片 | 在线视频你懂得 | 激情四射av| 波多野结衣之双调教hd | 日韩久久久久久久 | 欧美毛茸茸 | 一级片在线免费观看 | 国产成人综合在线观看 | 亚洲激情啪啪 | 在线精品视频一区 | 国产在线观看免费 | 国产欧洲亚洲 | 俺来也俺也啪www色 欧洲一区二区视频 | 污视频网站免费 | 女人的黄色片 | 色综合天天综合网天天看片 | 在线观看成人免费视频 | 亚洲v日本 | 欧美黄色免费 |