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