FFmpeg開發筆記(四十九)助您在畢業設計中脫穎而出的幾個流行APP

aqi00發表於2024-08-31
對各高校即將畢業的學子來說,畢業設計算是在大學裡的最後一個大作業。特別是軟體、計算機、電子等相關專業,畢業設計非常講究實操,往往要求實現一個實用的、可用的、易用的軟體系統或手機APP。

不管是軟體還是APP,都要透過程式設計來實現。對於程式設計類的畢業設計,既有圖書館管理系統這樣萬年不變的增刪改查軟體,也有電子商務APP那樣炫動各種介面特效的美工佳作。那麼就程式設計類大作業而言,怎樣才算是讓人耳目一新的畢業設計呢?
以手機APP為例,現在APP開發技術很成熟了,若想做一個鶴立雞群的畢業設計APP,就要在程式碼中運用最新的開發技術,尤其是和5G時代密切相關的音影片技術,比如音影片的基礎框架FFmpeg、火爆一時的RTMP/SRT影片直播技術、音影片實時通訊技術WebRTC等等。
對於畢業設計來說,應用了音影片技術的流行APP主要有以下三類:

一、具備影片剪輯功能的短影片分享APP

短影片分享APP早已成為國內外最流行的APP,不管是國內的抖音,還是國外的TikTok,都向廣大使用者提供了豐富多彩的視聽盛宴。那麼短影片的創作者正是來自於群眾的自媒體人,他們以一部手機作為創作工具,再把錄製好的影片各種剪裁編輯,最終輸出上傳製作好的短影片。
對於普通使用者來說,他們只用到了短影片APP的觀看功能,那麼實現短影片的播放功能比較簡單,具體參見《Android Studio開發實戰:從零基礎到App上線(第3版)》的“第14章 多媒體”,該書同時給出了短影片APP的實戰專案,也就是“14.4 實戰專案:仿抖音的短影片分享”。
對於自媒體從業者來說,他們還需要短影片APP的剪輯功能,也就是對影片檔案進行切割、合併、新增字幕、新增背景音樂、新增轉場特效等等編輯操作。這些影片剪輯技術的具體實現可參考《FFmpeg開發實戰:從零基礎到短影片上線》這本書,比如該書的第7章給出了新增字幕的實戰專案“7.4 實戰專案:卡拉OK音樂短片”,第9章給出了轉場特效的實戰專案“9.4 實戰專案:翻書轉場動畫”,還有第12章介紹瞭如何給App工程整合FFmpeg,並給出了仿剪映APP的實戰專案如“12.4 實戰專案:仿剪映的影片剪輯”。
對於畢業設計來說,這款短影片分享APP的亮點在於整合了音影片框架FFmpeg,並基於FFmpeg實現了各種影片剪輯功能。

二、具備直播帶貨功能的電商購物APP

電商購物APP現在是人們日常生活中不可獲取的實用工具,大到傢俱電器,小至各種日用品,都能在電商購物APP中解決。不過若想讓丈母孃們痛快掏錢,往往需要賣家真人出鏡,在直播間中口若懸河,或者載歌載舞,充分展示商品的外觀及其效用,方能成功帶貨拉動銷量。
倘若是簡單的APP圖文商品展示,可參考《Android Studio開發實戰:從零基礎到App上線(第3版)》第9章的“9.5 實戰專案:電商首頁”和第6章的“6.6 實戰專案:購物車”,至於與後端伺服器互動部分,則是另一塊WEB開發範疇,其中Java後端程式設計可學習《好好學Java:從零基礎到專案實戰》一書。
然而直播帶貨功能用到的直播系統相關技術,那可就複雜得多。既包括後端的流媒體伺服器,參見之前的文章《Linux環境安裝ZLMediaKit實現影片推流》和《Linux環境安裝SRS實現影片直播推流》;又包括流媒體傳輸協議,參見之前的文章《利用RTMP協議構建電腦與手機的直播Demo》和《利用SRT協議構建手機APP的直播Demo》,更詳細的直播技術文章可參考《FFmpeg開發筆記全目錄(FFmpeg開發實戰詳解,含直播系統的搭建過程)》。
對於畢業設計來說,這款電商購物APP的亮點在於整合了直播相關技術,既運用了傳統RTMP協議的影片直播,又運用了最新SRT協議的影片直播。

三、具備視訊通話功能的同城生活APP

同城生活APP基於使用者所在城市開展生活娛樂,涵蓋了同城交友、同城美食、同城出行等方方面面。可是這些同城生活APP通常僅提供對方的電話號碼,簡單的通訊方式畢竟不如直觀的視訊通話那樣令人信任,如果能給這些同城APP新增視訊通話功能,對於提升商家的業績不無裨益。
那麼視訊通話功能的難點在於給雙方手機傳輸音影片的通話訊號,其中可運用時新的WebRTC技術,要知道WebRTC在2021年1月被W3C和IETF釋出為Web實時通訊的正式標準。在手機APP中引入WebRTC可參考《Android Studio開發實戰:從零基礎到App上線(第3版)》一書的“20.2 給App整合WebRTC”,具體的實戰專案參見該書第20章的“20.3 實戰專案:仿微信的視訊通話”。如果同城生活APP推出了視訊通話功能,再也不用擔心對方是不是持證上崗了。
對於畢業設計來說,這款同城生活APP的亮點在於整合了WebRTC技術,並透過WebRTC實現了視訊通話的功能。

相關文章