基于ffmpeg和libvlc的视频剪辑、播放器
以前研究的時(shí)候,寫過一個(gè)簡單的基于VLC的視頻播放器。后來因?yàn)楦鞣N項(xiàng)目,有時(shí)為了方便測試,等各種原因,陸續(xù)加了一些功能,現(xiàn)在集成了視頻播放、視頻加減速、視頻剪切,視頻合并(增加中)等功能在一起。有時(shí)候看點(diǎn)網(wǎng)上下載的視頻,可以一邊看,一邊能處理視頻前后的廣告,感覺也還可以用,就想把它開源出去,一方面希望有需要的朋友可以參考、借鑒,另一方面也希望可以促進(jìn)它進(jìn)一步的豐富功能,最終能實(shí)現(xiàn)一款簡單又夠用的視頻剪輯軟件。
程序框架
先上一張程序截圖
基本上講,它的播放功能是基于VLC,剪輯功能是基于FFmpeg,現(xiàn)在的功能還比較簡單,當(dāng)然我的目的也不是想做一個(gè)復(fù)雜的視頻編輯器,那是專業(yè)軟件的事情,就是想做一個(gè)簡單又好用的剪輯工具即可。整體框架如下圖所示:
源碼簡介
工程
程序目前使用VS2013開發(fā),并通過Qt VS Addin創(chuàng)建QT工程,界面基于QT5來編寫。將來準(zhǔn)備改為QtCreator工程,目的是為了方便移植到linux平臺。
主要邏輯是:QT繪制界面,跟用戶交互,通過調(diào)用libvlc,實(shí)現(xiàn)本地文件播放。在適當(dāng)?shù)牡胤皆O(shè)置剪輯參數(shù),然后通過FFMPEG實(shí)現(xiàn)視頻文件剪輯,完成后,反饋到QT界面。
和普通播放器類似,程序支持左"<-",右"->"快捷鍵來做視頻的快進(jìn)后退,也可配合Ctrl和Shift鍵來做。
代碼目錄
開發(fā)計(jì)劃
- 開發(fā)工具由VS2013切換為QtCreator
- 文件播放部分,由目前的調(diào)用libvlc,改為通過FFMPEG解碼后,渲染播放。
- 剪輯操作,由進(jìn)程調(diào)用FFMPEG程序,改為通過FFMPEG API方式
- 增加視頻文件合并,以及格式轉(zhuǎn)換
- 界面改善
源碼地址
https://github.com/hbstream/hb-cut-player
有興趣的朋友可以看看,現(xiàn)在還比較初級,會慢慢更新,歡迎提交建議和代碼。
轉(zhuǎn)載于:https://www.cnblogs.com/rianbowymail/p/9017771.html
總結(jié)
以上是生活随笔為你收集整理的基于ffmpeg和libvlc的视频剪辑、播放器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java的环境变量classpath中加
- 下一篇: Kafka集成Spring-Acknow