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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

说下 winOS / IOS / android /Linux 视频、音频 编码解码问题

發布時間:2023/12/19 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 说下 winOS / IOS / android /Linux 视频、音频 编码解码问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近有朋友遇到一個問題, ios 上傳視頻文件,想在本地壓縮下,然后再上傳到服務器。

問有沒有什么 視頻處理的庫,

最近Khronos的webgl 支持HTML5 ,(原理 WebGL 是openGL,openES的庫》JS接口》解碼HTML5的canvas數據 )

流程反過來 也可以看成是 瀏覽器 HTML5的canvas 的數據 ==》通過調用JS訪問 WebGL ==》WebGL 訪問openGL,opengES 進行軟硬解碼 。

我想這應該是瀏覽器 最好的選擇。


windows/linux :

我第一個想到的是ffmpeg (windows/linux 下 軟、硬解碼都支持)
然后是其他各種播放器,的 軟硬 編碼、解碼


IOS:
ios8 之后已經開放了H264硬解的API了

AVAssetExportSession
AVFoundation里面的

http://www.zhihu.com/question/20692215
iOS 系統中,H.264 視頻流可以硬件解碼嗎? 具體如何實現?

demo
https://github.com/adison/-VideoToolboxDemo
https://github.com/stevenyao/iOSHardwareDecoder


android :

androidAPI

使用VideoView和MediaPlayer都可以播放視頻,這兩個類到底是什么不同呢?
VideoView 調用了 MediaPlayer 來播放視頻,提供了一些視頻播放的輔助功能。

PS.有人說android 設備太多(GPU不一樣)硬解碼 會有問題,
libstagefrighthw.so

2.ffmpeg

需要驗證再添加

4.類似VLC,mplayer 也應該支持硬解碼 所以從各個播放器的 開源代碼中尋找線索,可能會有所發現


我想 持續整理下 這方面的資料,以下是網上收集來的

http://www.eoeandroid.com/thread-288058-1-1.html

1、用Android4.1 API MediaCodec來對視頻數據進行編碼

http://stackoverflow.com/q/17232477/2293921
http://stackoverflow.com/questions/17232477/how-to-use-android-mediacodec-encode-camera-datayuv420sp/17288070#17288070
以上網址相同 ,概括:How to use Android MediaCodec encode Camera data(YUV420sp)

2、通過MediaRecorder方式對數據進行編碼
具體可參考http://blog.csdn.net/zblue78/article/details/6083374

3、通過移植ffmpeg

http://www.cnblogs.com/dwdxdy/p/3247075.html
概括:NVCUVENC庫是NVIDIA公司提供的視頻編碼庫,可以實現H.264的GPU編碼,接收原始YUV frames數據,編碼產生NAL packets。

https://github.com/yixia/VitamioBundle
https://www.vitamio.org/Document/Introduction/2013/0429/3.html
概括:
由于收費,所以不考慮。
Vitamio 是一款 Android 與 iOS 平臺上的全能多媒體開發框架,全面支持硬件解碼與 GPU 渲染。Vitamio 憑借其簡潔易用的 API 接口贏得了全球眾多開發者的青睞。到目前,全球已經有超過 100 種應用在使用 Vitamio,覆蓋用戶超過 2000 萬。

音頻和視頻格式

Vitamio 使用了 FFmpeg 做為媒體解析器和最主要的解碼器,同時開發了針對不同移動平臺的硬解碼方案,能夠完美支持 H.264/AVC、H.263、 MPEG4 等常見的視頻編碼,覆蓋上百種多媒體格式。下表只是一些最常見的視頻格式支持,除特殊標明,全部支持硬件加速:

DivX/Xvid
WMV (一般只有軟解碼)
FLV
TS/TP
RMVB (只有軟解碼)
MKV
MOV
M4V
AVI
MP4
3GP

使用Android中的StageFright框架調用OpenMAX進行硬件編碼,OMX部分由硬件廠商實現,無需關注,看好StageFright的調用方法即可


自己寫解碼264文件,如果用view顯示,就需要轉成bitmap顯示,或者使用opengl可以顯示yuv數據

如果已經保存成MP4格式的文件,就不需要解碼了,通過mediaplayer就能播


總結

以上是生活随笔為你收集整理的说下 winOS / IOS / android /Linux 视频、音频 编码解码问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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