Stories

List
Create Time

FFmpeg開發筆記(八十八)基於Compose的國產電視直播開源框架MyTV

​MyTV是一款使用Android原生開發的網絡直播軟件,它的原理是接入網絡上的直播推流鏈接,通過Android提供的ExoPlayer來播放直播節目。有關網絡推拉流的直播技術可參考《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“10.2 FFmpeg推流和拉流”。 MyTV的源碼託管地址為 https://github.com/yaoxieyoulei/mytv-android (星星數0

Create Time

FFmpeg開發筆記(八十七)採用Kotlin的手機開源播放器VLC-Android

​《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“3.4.1 通用音視頻播放器”介紹瞭如何在桌面系統上安裝和使用通用音視頻播放器VLC media player,其實VLC是個跨平台的播放器,它也提供了面向Android平台的手機版VLC。 Android版VLC的官網地址是 https://code.videolan.org/videolan/libvlc-android ,源碼託管地址為

Create Time

FFmpeg開發筆記(六十一)Linux給FFmpeg集成H.266編碼器vvenc

​《FFmpeg開發實戰:從零基礎到短視頻上線》該書的第一章介紹瞭如何在Linux環境給FFmpeg集成H.264和H.265的編碼器,如今H.266的編碼器vvenc也日漸成熟,從7.1版本開始的最新FFmpeg源碼已經支持H.266的編碼器vvenc。 H.266是H.265的升級版本,H.265的視頻編碼標準為HEVC(High Efficiency Video Coding,高效視頻

Create Time

FFmpeg開發筆記(六十二)Windows給FFmpeg集成H.266編碼器vvenc

​《FFmpeg開發實戰:從零基礎到短視頻上線》該書的第八章介紹瞭如何在Windows環境給FFmpeg集成H.264和H.265的編碼器,如今H.266的編碼器vvenc也日漸成熟,從7.1版本開始的最新FFmpeg源碼已經支持H.266的編碼器vvenc。 H.266是H.265的升級版本,H.265的視頻編碼標準為HEVC(High Efficiency Video Coding,高效

Create Time

FFmpeg開發筆記(六十三)FFmpeg使用vvenc把視頻轉為H.266編碼

​前面的兩篇文章分別介紹瞭如何在Linux環境和Windows環境給FFmpeg集成H.266的編碼器vvenc,接下來利用ffmpeg把視頻文件轉換為VVC格式,觀察新生成的vvc視頻能否正常播放。 確保Linux系統已經按照《FFmpeg開發實戰:從零基礎到短視頻上線》該書第一章的“1.2 Linux系統安裝FFmpeg”安裝了FFmpeg,並且Windows系統已經按照《FFmpeg開發實戰

Create Time

FFmpeg開發筆記(六十四)使用國產的RedPlayer播放器觀看網絡視頻

​RedPlayer是小紅書基於FFmpeg4.3研發並開源的國產播放器,它可運行於Android和iOS系統,既支持播放本地視頻文件,也支持播放網絡上的流媒體鏈接。有關FFmpeg在Android平台的集成説明參見《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“第12章 FFmpeg的移動開發”。 之前的文章《使用國產的ijkplayer播放器觀看網絡視頻》介紹了另一款由B站研發的國產播放

Create Time

FFmpeg開發筆記(六十五)Linux給FFmpeg集成LC3音頻的編碼器liblc3

​《FFmpeg開發實戰:從零基礎到短視頻上線》一書的第五章介紹了FFmpeg如何處理常見的MP3音頻和AAC音頻,其中MP3格式常用於音樂文件,而AAC格式常用於視頻文件。 除此以外,近年又出現了專用於藍牙音頻的LC3格式,其全稱是低複雜度通信編解碼器(Low Complexity Communications Codec)。2020年9月15日,藍牙技術聯盟正式發佈LC3技術規範,所有的藍牙音

Create Time

FFmpeg開發筆記(六十六)Windows給FFmpeg集成LC3音頻的編碼器liblc3

《FFmpeg開發實戰:從零基礎到短視頻上線》一書的第五章介紹了FFmpeg如何處理常見的MP3音頻和AAC音頻,其中MP3格式常用於音樂文件,而AAC格式常用於視頻文件。 除此以外,近年又出現了專用於藍牙音頻的LC3格式,其全稱是低複雜度通信編解碼器(Low Complexity Communications Codec)。2020年9月15日,藍牙技術聯盟正式發佈LC3技術規範,所有的藍牙音頻

Create Time

FFmpeg開發筆記(六十七)Windows給FFmpeg集成支持RIST協議的librist

​《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“10.2 FFmpeg推流和拉流”提到直播行業存在RTSP和RTMP兩種常見的流媒體協議。除此以外,還有比較兩種比較新的流媒體協議,分別是SRT和RIST。 其中SRT全稱為Secure Reliable Transport,中文叫做安全可靠傳輸協議。RIST全稱為Reliable Internet Stream Transport,中文叫做

Create Time

FFmpeg開發筆記(六十九)Windows給FFmpeg集成AV1編碼器libaom

​AV1是一種新興的免費視頻編碼標準,它由開放媒體聯盟(Alliance for Open Media,簡稱AOM)於2018年制定,融合了Google VP10、Mozilla Daala以及Cisco Thor三款開源項目的成果。據説在實際測試中,AV1標準比H.265(HEVC)的壓縮率提升了大約27%。由於AV1具有性能優勢,並且還是免費授權,因此各大流媒體平台更傾向使用AV1而非HEVC

Create Time

FFmpeg開發筆記(七十)Windows給FFmpeg集成AV1編碼器libsvtav1

​AV1是一種新興的免費視頻編碼標準,它由開放媒體聯盟(Alliance for Open Media,簡稱AOM)於2018年制定,融合了Google VP10、Mozilla Daala以及Cisco Thor三款開源項目的成果。據説在實際測試中,AV1標準比H.265(HEVC)的壓縮率提升了大約27%。由於AV1具有性能優勢,並且還是免費授權,因此各大流媒體平台更傾向使用AV1而非HEVC

Create Time

FFmpeg開發筆記(七十二)Linux給FFmpeg集成MPEG-5視頻編解碼器EVC

​MPEG-5是新一代的國際音視頻編解碼標準,像我們熟悉的MP3、MP4等音視頻格式就來自於MPEG系列。MP3格式的説明介紹參見《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“5.2 MP3音頻”,MP4格式的説明介紹參見《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“2.1.2 音視頻文件的封裝格式”。 MPEG-5有關視頻編解碼的內容主要有兩部分,一個是Part 1的基本視頻編碼

Create Time

FFmpeg開發筆記(七十三)Windows給FFmpeg集成MPEG-5視頻編解碼器

​MPEG-5是新一代的國際音視頻編解碼標準,像我們熟悉的MP3、MP4等音視頻格式就來自於MPEG系列。MP3格式的説明介紹參見《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“5.2 MP3音頻”,MP4格式的説明介紹參見《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“2.1.2 音視頻文件的封裝格式”。 MPEG-5現已開源MPEG-5 EVC的視頻編解碼器,其中視頻解碼器的開源庫

Create Time

FFmpeg開發筆記(七十四)Windows給FFmpeg集成二維碼圖像的編解碼器

​《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“7.1.1 添加圖片標誌”介紹瞭如何給視頻添加圖片標誌,比如給視頻畫面添加一張二維碼圖像。不過前提條件是存在二維碼圖片,因為FFmpeg本身不支持根據文本生成二維碼圖像。幸而從FFmpeg 7.0開始,通過第三方的libqrencode和libquirc庫實現了二維碼的讀寫功能,這樣處理視頻中的二維碼圖像就方便多了。 接下來以微軟的視窗系統為

Create Time

FFmpeg開發筆記(七十五)使用qrencode和quirc對視頻畫面讀寫二維碼

上一篇文章《Windows給FFmpeg集成二維碼圖像的編解碼器》介紹了給FFmpeg集成二維碼的編解碼器qrencode和quirc,接下來講解如何利用編碼器qrencode向視頻畫面添加二維碼,以及如何利用解碼器quirc從視頻畫面讀取二維碼。 確保Windows系統已經按照《FFmpeg開發實戰:從零基礎到短視頻上線》第一章“1.3 Windows系統安裝FFmpeg”的説明安裝配置了MSY

Create Time

FFmpeg開發筆記(七十六)使用國產SDK的播放器wlmedia渲染視頻

《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“第 12 章 FFmpeg的移動開發”介紹瞭如何使用FFmpeg在手機上播放視頻,基於FFmpeg的國產播放器開源框架也有很多了,前有嗶哩嗶哩的ijkplayer,後有小紅書的RedPlayer,參見之前的文章《使用國產的ijkplayer播放器觀看網絡視頻》和《使用國產的RedPlayer播放器觀看網絡視頻》。 除此以外,wlmedia也是一

Create Time

FFmpeg開發筆記(七十七)Android的開源音視頻剪輯框架RxFFmpeg

《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“第 12 章 FFmpeg的移動開發”介紹瞭如何使用FFmpeg在手機上剪輯視頻,方便開發者更好地開發類似剪映那樣的視頻剪輯軟件。那麼在Android系統上還有一款國產的開源視頻剪輯框架RxFFmpeg,通過該框架可以更快地開發剪輯App,下面就要介紹如何在App工程中使用RxFFmpeg。 RxFFmpeg是一個Android平台的音視頻編輯

Create Time

FFmpeg開發筆記(七十八)採用Kotlin+Compose的NextPlayer播放器

《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“第 12 章 FFmpeg的移動開發”介紹瞭如何使用FFmpeg在手機上播放視頻,基於FFmpeg的國產播放器開源框架也有很多了,前有嗶哩嗶哩的ijkplayer,後有小紅書的RedPlayer,參見之前的文章《使用國產的ijkplayer播放器觀看網絡視頻》和《使用國產的RedPlayer播放器觀看網絡視頻》。 除此以外,NextPla

Create Time

FFmpeg開發筆記(七十九)專注於視頻彈幕功能的國產彈彈播放器

​《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“第 12 章 FFmpeg的移動開發”介紹瞭如何使用FFmpeg在手機上播放視頻,基於FFmpeg的國產播放器開源框架也有很多了,前有嗶哩嗶哩的ijkplayer,後有小紅書的RedPlayer,參見之前的文章《使用國產的ijkplayer播放器觀看網絡視頻》和《使用國產的RedPlayer播放器觀看網絡視頻》。 除此以外,彈彈播放器(Dan

Create Time

FFmpeg開發筆記(八十)使用百變魔音AiSound實現變聲特效

​《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“第5章 FFmpeg處理音頻”介紹瞭如何使用FFmpeg處理和轉換音頻,“第 12 章 FFmpeg的移動開發”介紹瞭如何使用FFmpeg在手機上剪輯視頻,二者結合起來即可開發音頻剪輯App。那麼在Android系統上還有一款國產的開源音頻特效框架AiSound,通過該框架可以更快地開發變聲App,下面就來介紹如何在App工程中使用AiSou

Create Time

FFmpeg開發筆記(八十一)FFmpeg代碼對RTSP和RTMP的推流區別

《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“10.2.2 FFmpeg向網絡推流”介紹瞭如何使用FFmpeg代碼向網絡推送視頻流,當時的例程採用了RTSP方式推流,在向RTSP地址時推流是正常的,但向RTMP地址推流時出現了問題,下面就介紹瞭如何使用FFmpeg代碼向RTMP地址推送視頻流。 一、FFmpeg推流環境的區別 首先注意RTSP推流地址以“ rtsp:// ”開頭,且RTSP

Create Time

FFmpeg開發筆記(八十二)使用國產直播服務器smart_rtmpd執行推流操作

​《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“10.2.2 FFmpeg向網絡推流”介紹了輕量級流媒體服務器MediaMTX,通過該工具可以測試RTSP/RTMP等流媒體協議的推拉流。不過MediaMTX的功能比較簡單,也不方便個性化定製,如今出現了國產的直播服務器smart_rtpmd,更適合日常開發調試使用。 smart_rtpmd是一款用於直播且錄播性能卓越的流媒體服務器,相當於n

Create Time

FFmpeg開發筆記(八十五)基於PyQt和FFmpeg的開源視頻剪輯器OpenShot

《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“第 12 章 FFmpeg的移動開發”介紹瞭如何使用FFmpeg在手機上剪輯視頻,方便開發者更好地開發類似剪映那樣的視頻剪輯軟件。那麼在桌面系統上還有一款開源視頻剪輯框架OpenShot,通過該框架可以更快地加工編輯視頻文件,下面就來介紹如何在桌面系統中使用OpenShot。 OpenShot的全稱是OpenShot Video Edit

Create Time

FFmpeg開發筆記(八十六)基於Node.js的國產視頻編輯開源框架OpenCut

​《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“第 12 章 FFmpeg的移動開發”介紹瞭如何使用FFmpeg在手機上剪輯視頻,方便開發者更好地開發類似剪映那樣的視頻剪輯軟件。那麼在桌面系統上還有一款國產的開源視頻編輯框架OpenCut,通過該框架可以更快地加工編輯視頻文件,下面就來介紹如何在桌面系統中使用OpenCut。 OpenCut是一款開源、跨平台的新興國產視頻剪輯工具,支持時間