国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

利用FFmpeg實(shí)現(xiàn)錄屏、直播推流、音頻視頻格式轉(zhuǎn)換、剪裁等功能

這篇具有很好參考價(jià)值的文章主要介紹了利用FFmpeg實(shí)現(xiàn)錄屏、直播推流、音頻視頻格式轉(zhuǎn)換、剪裁等功能。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、FFmpeg簡(jiǎn)介。

二、FFmpeg常用參數(shù)及命令。

三、FFmpeg在Unity 3D中的使用。
  1、FFmpeg 錄屏。
  2、FFmpeg 推流。
  3、FFmpeg 其他功能簡(jiǎn)述。

一、FFmpeg簡(jiǎn)介

對(duì)于FFmpeg,其官網(wǎng)上是這樣介紹的:
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.
FFmpeg能夠?qū)崿F(xiàn)對(duì)視頻音頻編碼、解碼、轉(zhuǎn)碼、流傳輸?shù)鹊纫幌盗泄δ?。它包含有l(wèi)ibavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale,libswresample 庫。其中:

libavcodec ? ? ?是一個(gè)包含用于音頻/視頻編解碼器的解碼器和編碼器的庫。
libavutil ? ? ? 是一個(gè)包含簡(jiǎn)化編程功能的庫,包括隨機(jī)數(shù)生成器,數(shù)據(jù)結(jié)構(gòu),數(shù)學(xué)例程,核心多媒體實(shí)用程序等等。
libavformat ? ? 是一個(gè)包含多媒體容器格式的解復(fù)用器和復(fù)用器的庫。
libavdevice ? ? 是一個(gè)包含輸入和輸出設(shè)備的庫,用于從許多常見的多媒體輸入/輸出軟件框架中獲取和呈現(xiàn),包括Video4Linux,Video4Linux2,VfW和ALSA。
libavfilter ? ? 是一個(gè)包含媒體過濾器的庫。
libswscale ? ? ?是一個(gè)執(zhí)行高度優(yōu)化的圖像縮放和色彩空間/像素格式轉(zhuǎn)換操作的庫。
libswresample ? 是一個(gè)執(zhí)行高度優(yōu)化的音頻重采樣,重新矩陣化和樣本格式轉(zhuǎn)換操作的庫。

二、FFmpeg常用參數(shù)及命令

1、命令的格式:

ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...

2、常用參數(shù):

-f fmt (input/output) ? 強(qiáng)制設(shè)定輸入或輸出文件格式。通常會(huì)自動(dòng)檢測(cè)輸入文件的格式,并從輸出文件的文件擴(kuò)展名猜測(cè)格式,因此大多數(shù)情況下不需要這個(gè)選項(xiàng)。
-i url (input) ? ? ? ? ?輸入
-y (global) ? ? ? ? ? ? 在沒有請(qǐng)求的情況下覆蓋輸出文件。
-n (global) ? ? ? ? ? ? 不要覆蓋輸出文件,如果指定的輸出文件已經(jīng)存在,則會(huì)立即退出。
-stream_loop number ? ? 設(shè)定輸入流循環(huán)的次數(shù)。循環(huán)0表示沒有循環(huán),循環(huán)1表示無限循環(huán)
-codec/-c ? ? ? ? ? ? ? 設(shè)置編碼格式
-r fps ? ? ? ? ? ? ? ? ?設(shè)置幀速率
-vcodec codec (output) ?設(shè)置視頻編碼格式,同-codec:v
-pix_fmt format ? ? ? ? 設(shè)置像素格式
-ar freq ? ? ? ? ? ? ? ?設(shè)置音頻采樣頻率
-aq q (output) ? ? ? ? ?設(shè)置音頻質(zhì)量
-acodec codec ? ? ? ? ? 設(shè)置音頻編解碼器,同-codec:a

3、常用命令

(1)將視頻的幀速率改為24
ffmpeg -i input.avi -r 24 output.avi

(2)視頻格式轉(zhuǎn)換,將avi轉(zhuǎn)成mp4
ffmpeg -i input.avi output.mp4

(3)從視頻中提取音頻
ffmpeg -i test.mp4 -acodec libmp3lame output.mp3

(4)視頻剪切
ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4

(5)視頻添加Logo
ffmpeg -i input.mp4 -i Logo.png -filter_complex overlay output.mp4

(6)視頻去掉Logo
ffmpeg -i input.mp4 -vf delogo=0:0:220:90:100:1 output.mp4

(7)將100張圖片合成視頻,并為其添加背景音頻(注意:圖片要放在同一個(gè)文件夾下,并將圖片按001--100的格式命名)
ffmpeg -i 001.mp3 -i %3d.jpg -s 1024x768 -author fy -vcodec mpeg4 darkdoor.avi

(8)將視頻每隔一秒抽取一張圖片,保存名字為 foo-001.jpeg, foo-002.jpeg, 等
ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg

?三、FFmpeg在Unity 3D中的使用

有網(wǎng)友問我如何在Unity中使用FFmpeg呢,趁今天老大出差了,忙里偷閑更新一下博客。
使用FFmpeg首先得有FFmpeg,可以直接從官網(wǎng)免費(fèi)下載,也可以從Unity Store花費(fèi)85美元下載插件FFmpeg Unity Bind,
如果你有插件FFmpeg Unity Bind,那你就不用再往下看了,因?yàn)楸疚氖褂玫木褪荈Fmpeg Unity Bind的思想:用命令行參數(shù)實(shí)現(xiàn)FFmpeg的調(diào)用。

1、命令行調(diào)用FFmpeg的核心代碼如下:

?    public static void Execute(string command)
? ? ? ? {
? ? ? ? ? ? if (isRunning)
? ? ? ? ? ? ? ? return;

? ? ? ? ? ? //Clear output buffer
? ? ? ? ? ? buffer = new StringBuilder(short.MaxValue);

? ? ? ? ? ? new Thread(() =>
? ? ? ? ? ? {
? ? ? ? ? ? ? ? isRunning = true;
? ? ? ? ? ? ? ? Thread.CurrentThread.IsBackground = true;

? ? ? ? ? ? ? ? //Execute binary
? ? ? ? ? ? ? ? p = new Process();
? ? ? ? ? ? ? ? p.StartInfo.RedirectStandardOutput = true;
? ? ? ? ? ? ? ? p.StartInfo.RedirectStandardError = true;
? ? ? ? ? ? ? ? p.StartInfo.UseShellExecute = false;
? ? ? ? ? ? ? ? p.StartInfo.CreateNoWindow = true;
? ? ? ? ? ? ? ? p.StartInfo.FileName = binaryPath;
? ? ? ? ? ? ? ? p.StartInfo.Arguments = command;


? ? ? ? ? ? ? ? p.StartInfo.RedirectStandardInput = true;//這句一定需要,用于模擬該進(jìn)程控制臺(tái)的輸入

? ? ? ? ? ? ? ? p.OutputDataReceived += (s, e) =>
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? callback(FFmpegParser.COMMAND_CODE + FFmpegParser.PROGRESS_CODE + AppendLog(e.Data));
? ? ? ? ? ? ? ? };
? ? ? ? ? ? ? ? p.ErrorDataReceived += (s, e) =>
? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? if (!string.IsNullOrEmpty(e.Data) && e.Data.ToLower().Contains("error"))
? ? ? ? ? ? ? ? ? ? ? ? callback(FFmpegParser.ERROR_CODE + AppendLog(e.Data));
? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? callback(FFmpegParser.COMMAND_CODE + FFmpegParser.PROGRESS_CODE + AppendLog(e.Data));
? ? ? ? ? ? ? ? };

? ? ? ? ? ? ? ? p.Start();

? ? ? ? ? ? ? ? callback(FFmpegParser.COMMAND_CODE + FFmpegParser.START_CODE + "\nStarted\n");

? ? ? ? ? ? ? ? p.BeginOutputReadLine();
? ? ? ? ? ? ? ? p.BeginErrorReadLine();

? ? ? ? ? ? ? ? p.WaitForExit();

? ? ? ? ? ? ? ? if (isStopProcessWhatIthink)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? callback(FFmpegParser.COMMAND_CODE + FFmpegParser.SUCCESS_CODE + AppendLog("主動(dòng)關(guān)閉 FFmpeg 進(jìn)程") );
? ? ? ? ? ? ? ? ? ? isStopProcessWhatIthink = false;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? callback(FFmpegParser.COMMAND_CODE +
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(p.ExitCode == 0 ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? FFmpegParser.SUCCESS_CODE + AppendLog("Success!") :
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? FFmpegParser.FAILURE_CODE + AppendLog("Failure. Search details above")));
? ? ? ? ? ? ? ? ? ? p.Close();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? callback(FFmpegParser.COMMAND_CODE + FFmpegParser.FINISH_CODE + "\nFinished\n");
? ? ? ? ? ? ? ? isRunning = false;
? ? ? ? ? ? }).Start();
? ? ? ? }

? ? ? ? ///?

? ? ? ? /// 主動(dòng)退出進(jìn)程
? ? ? ? ///?

? ? ? ? public static void CloseFFmpegProcess()
? ? ? ? {
? ? ? ? ? ? if (p!=null)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? try
? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? p.StandardInput.WriteLine("q");//在這個(gè)進(jìn)程的控制臺(tái)中模擬輸入q,用于暫停錄制
? ? ? ? ? ? ? ? ? ? p.Close();
? ? ? ? ? ? ? ? ? ? p.Dispose();

? ? ? ? ? ? ? ? ? ? isRunning = false;


? ? ? ? ? ? ? ? ? ? isStopProcessWhatIthink = true;
? ? ? ? ? ? ? ? ? ? p = null;
? ? ? ? ? ? ? ? ? ? UnityEngine.Debug.Log("主動(dòng)退出FFmpeg進(jìn)程");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? catch (Exception)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? UnityEngine.Debug.Log("No process to kill");
? ? ? ? ? ? ? ? }

? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? UnityEngine.Debug.Log("FFmpeg process is null");

? ? ? ? ? ? }
? ? ? ? }

2、FFmpeg 錄屏、推流常用命令

//推流命令
//-re -i C:\output.mp4 ?-vcodec libx264 -acodec copy ?-f flv -y rtmp://***/live/chid
//拉流
//-i rtmp://127.0.0.1/live/chid -acodec copy -vcodec copy -f flv -y chid.mp4
//-i rtmp://127.0.0.1/live/chid -c copy dump.flv
?
// rtsp 推流
// -i C:\output.mp4 ?-vcodec libx264 -f rtsp rtsp://***/myid
//-f gdigrab -i desktop -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f rtsp rtsp://***/myid
//推 攝像頭
//-f dshow -i video="HD Pro Webcam C920" -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -f rtsp rtsp://***/myid
//音視頻錄制
//-f dshow -video_size 1680x1050 -framerate 30 -pixel_format yuv420p -i audio="麥克風(fēng) (HD Pro Webcam C920)" av-out.mp4

? ? ? ? //-f fmt ? ?指定格式(音視頻的格式)
//dshow
//-i ? ? ? ?輸入
//-vcodec ? 強(qiáng)制使用codec編解碼方式(\'copy\' to copy stream)
//libx264 ?
//-acodec ? 指定音頻編碼(\'copy\' to copy stream)
//copy ? ??
//-preset ?
//-tune ? ?
//-y ? ? ? ?覆蓋已有文件
//-c ? ? ??
?
//傳輸?shù)膱D像為灰色的解決辦法,添加:-pix_fmt yuv420p
//錄制桌面:desktop
//錄制窗口:title=窗口名
// av_interleaved_write_frame(): Broken pipe 問題:在-f rtsp后面加一個(gè)-rtsp_transport tcp
?
//錄制整個(gè)程序窗口
//string command = "-f gdigrab -i title=test -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -acodec libmp3lame -ar 44100 -ac 1 -f rtsp -rtsp_transport tcp rtsp://***/myid";
?
//錄制某一區(qū)域(這里是攝像頭區(qū)域)
//-offset_x 10 -offset_y 20 -video_size 640x480 從屏幕的(10,20)點(diǎn)處開始,抓取640x480的屏幕
//-s 640x480 ? 指定分辨率 (640x480)
//-r 60 設(shè)置幀率 (和程序的fps保持一致,解決Past duration 0.692253 too large的問題)
//string command = "-f gdigrab -offset_x 920 -offset_y 85 -video_size 320*240 -s 320*240 -i title=test -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -r 60 -acodec libmp3lame -ar 44100 -ac 1 -f rtsp -rtsp_transport tcp rtsp://***/myid";
//string command = "-f gdigrab -offset_x 920 -offset_y 85 -video_size 320*240 -s 320*240 -i title=test -f dshow -i audio=\""+ micName + "\" -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -r 60 -acodec aac -ar 16000 -ac 1 -f rtsp -rtsp_transport tcp rtsp://***/myid";
?
//輸入交換視頻和音頻的位置,畫面不卡頓了
//string command = "-f dshow -i audio=\"" + micName + "\" -f gdigrab -offset_x 920 -offset_y 85 -video_size 320*240 -s 320*240 -i title=test -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -f rtsp -rtsp_transport tcp "+ ClientController.rtspId;
//FFmpegCommands.DirectInput(command);
?
//-re(輸入)主要用于模擬抓取設(shè)備或?qū)崟r(shí)輸入流(例如,從文件讀取時(shí))。不應(yīng)與實(shí)際的抓取設(shè)備或?qū)崟r(shí)輸入流一起使用(它可能導(dǎo)致數(shù)據(jù)包丟失)。默認(rèn)情況下,ffmpeg嘗試盡快讀取輸入。此選項(xiàng)將減慢輸入讀取到輸入的本機(jī)幀速率。它對(duì)于實(shí)時(shí)輸出(例如直播)非常有用。
//string command = "-re -i \"" + path + "\" -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -f rtsp -rtsp_transport tcp " +ClientController.rtspId;文章來源地址http://www.zghlxwxcb.cn/news/detail-488018.html

到了這里,關(guān)于利用FFmpeg實(shí)現(xiàn)錄屏、直播推流、音頻視頻格式轉(zhuǎn)換、剪裁等功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • qt+ffmpeg 實(shí)現(xiàn)音視頻播放(二)之音頻播放

    qt+ffmpeg 實(shí)現(xiàn)音視頻播放(二)之音頻播放

    通過? avformat_open_input ()?打開媒體文件并分配和初始化? AVFormatContext?? 結(jié)構(gòu)體。 函數(shù)原型如下: int avformat_open_input(AVFormatContext **ps, const char *url, AVInputFormat *fmt, AVDictionary **options); 參數(shù)說明: - `ps`:指向 `AVFormatContext` 結(jié)構(gòu)體指針的指針,用于存儲(chǔ)打開的媒體文件的信息。

    2024年04月22日
    瀏覽(37)
  • OpenAI Whisper + FFmpeg + TTS:動(dòng)態(tài)實(shí)現(xiàn)跨語言視頻音頻翻譯

    本文作者系360奇舞團(tuán)前端開發(fā)工程師 本文介紹了如何結(jié)合 OpenAI Whisper、FFmpeg 和 TTS(Text-to-Speech)技術(shù),以實(shí)現(xiàn)將視頻翻譯為其他語言并更換聲音的過程。我們將探討如何使用 OpenAI Whisper 進(jìn)行語音識(shí)別和翻譯,然后使用 FFmpeg 提取視頻音軌和處理視頻,最后使用 TTS 技術(shù)生成新

    2024年02月09日
    瀏覽(16)
  • 利用第三方解碼器ffmpeg讓群暉DSM6.2.4版本的Video Station支持DTS視頻編碼和EAC3音頻編碼

    利用第三方解碼器ffmpeg讓群暉DSM6.2.4版本的Video Station支持DTS視頻編碼和EAC3音頻編碼

    截至2022年5月6日,此方法可用! 本文章可以解決群暉版本6.2.4-25556 Update5(Video Station版本2.5.0-1656)在播放dts、eac3音頻編碼的視頻時(shí)提示不支持的問題。 對(duì)于群暉6.2.3版本,Video Station版本2.4.9,網(wǎng)上隨便搜的方法都可以使用,但是用在6.2.4未必可行。原因在于Video Station版本2

    2023年04月08日
    瀏覽(40)
  • 音視頻開發(fā)系列(10):基于qt的音頻推流

    音視頻開發(fā)系列(10):基于qt的音頻推流

    今天分享一下利用qt錄制音頻,然后再利用ffmpeg推流到nginx服務(wù)器,最后再利用vlc進(jìn)行拉流的demo。 首先介紹一下如何利用qt來進(jìn)行音頻的錄制,qt的音頻錄制主要利用qt的QAudioFormat先進(jìn)行音頻信息的配置。主要需要配置以下的信息: 然后使用QAudioDeviceInfo來獲取是否支持改設(shè)置

    2024年02月02日
    瀏覽(25)
  • Vue 3 + ffmpeg + wasm 實(shí)現(xiàn)前端視頻剪輯、音頻剪輯、音波展示、視頻抽幀、gif抽幀、幀播放器、字幕、貼圖、時(shí)間軸、素材軌道

    預(yù)覽 www.bilibili.com/video/BV1YT411Y7YJ 技術(shù)棧: ?? Vue 3、Vue-Router 4、Vite、pnpm、esbuild、TypeScript ?? Pinia 狀態(tài)管理 ?? Tailwind 原子css集成 ?? ffmpeg、wasm 底層音視頻處理集成 功能 多軌道時(shí)間軸,支持幀縮放,時(shí)間縮放 支持多種類型軌道的添加刪除 多功能軌道調(diào)節(jié),支持音視頻軌

    2024年02月11日
    瀏覽(31)
  • ffmpeg視頻音頻命令

    視頻音頻合并,以視頻時(shí)間為主,音頻短了循環(huán) 方法1:混音,視頻權(quán)重0,volume調(diào)節(jié)音量,aloop無限循環(huán),duration:first為第一個(gè)素材的長(zhǎng)度 ffmpeg -i video.mp4 -i audio.mp3 -filter_complex \\\"[1:a]volume=0.5[a1];[a1]aloop=loop=-1:size=2e+09[a2];[0:a][a2]amix=inputs=2:duration=first:weights=\\\'0 1\\\'[a]\\\" -map 0:v -map \\\"[a]\\\"

    2024年02月13日
    瀏覽(23)
  • FFmpeg從視頻中提取音頻

    FFmpeg從視頻中提取音頻

    參考博客 ffmpeg Documentation FFmpeg最全教程 FFmpeg 提取視頻的音頻 FFMPEG 提取音頻 ffmpeg 給音頻添加封面,ffmpeg對(duì)音視頻metadata相關(guān)操作 查看 使用 FFprobe ffprobe 是一個(gè)多媒體流分析工具。它從多媒體流中收集信息,并且以人類和機(jī)器可讀的形式打印出來。它可以用來檢測(cè)多媒體流的

    2023年04月08日
    瀏覽(31)
  • 【FFmpeg】音視頻錄制 ① ( 查詢系統(tǒng)中 ffmpeg 可錄制的音視頻輸入設(shè)備 | 使用 ffmpeg 命令錄制音視頻數(shù)據(jù) | 錄制視頻數(shù)據(jù)命令 |錄制音頻數(shù)據(jù)| 同時(shí)錄制音頻和視頻數(shù)據(jù)命令 )

    【FFmpeg】音視頻錄制 ① ( 查詢系統(tǒng)中 ffmpeg 可錄制的音視頻輸入設(shè)備 | 使用 ffmpeg 命令錄制音視頻數(shù)據(jù) | 錄制視頻數(shù)據(jù)命令 |錄制音頻數(shù)據(jù)| 同時(shí)錄制音頻和視頻數(shù)據(jù)命令 )

    在 Windows 系統(tǒng)中 , 使用 ffmpeg 命令 錄制 音視頻 , 需要先獲取 系統(tǒng)的 音視頻設(shè)備 信息 , 錄制 音視頻 本質(zhì)上是從 系統(tǒng)音視頻設(shè)備 中獲取數(shù)據(jù) ; 執(zhí)行 命令 , 可以獲取 系統(tǒng)中 ffmpeg 可用的 DirectShow 音視頻輸入設(shè)備 ; 命令參數(shù)解析 : -list_devices true : 列出所有 ffmpeg 的 指定類型的可

    2024年04月25日
    瀏覽(31)
  • OpenCV+FFmpeg 實(shí)現(xiàn)人臉檢測(cè)Rtmp直播推流(Python快速實(shí)現(xiàn))

    OpenCV+FFmpeg 實(shí)現(xiàn)人臉檢測(cè)Rtmp直播推流(Python快速實(shí)現(xiàn))

    windows平臺(tái)筆記本攝像頭視頻采集、人臉識(shí)別,識(shí)別后將視頻推流到RTMP流媒體服務(wù)器,在任意客戶端可以進(jìn)行RTMP拉流播放。 效果如圖: 使用VLC播放器進(jìn)行拉流。 需要先安裝OpenCV的python包以及FFmpeg。 對(duì)于ffmpeg有兩種調(diào)用方式,但這兩種方式都需要先安裝ffmpeg,調(diào)用的具體區(qū)別

    2024年02月12日
    瀏覽(36)
  • FFmpeg/opencv + C++ 實(shí)現(xiàn)直播拉流和直播推流(對(duì)視頻幀進(jìn)行處理)

    本文主要使用C++ ffmpeg庫實(shí)現(xiàn)對(duì)除去webrtc的視頻流進(jìn)行拉流,而后經(jīng)過自身的處理,而后通過將處理后的視頻幀進(jìn)行編碼,最后進(jìn)行推流處理。詳情請(qǐng)看代碼 參考鏈接: https://blog.csdn.net/weixin_45807901/article/details/129086344 https://blog.csdn.net/T__zxt/article/details/126827167

    2024年02月16日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包