最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

DanmakuRender —— 一個(gè)直播錄制和彈幕渲染的小工具

2021-12-06 14:47 作者:SmallPeaches  | 我要投稿

簡(jiǎn)介

? ? 做這個(gè)小軟件的原因是最近看MDY的錄男為了擺爛找出一大堆借口,搞得人民群眾沒(méi)錄播看,于是乎在看直播的同時(shí)寫(xiě)了這樣一個(gè)小工具來(lái)幫助錄男們實(shí)現(xiàn)自動(dòng)化生產(chǎn)。

? ? 這個(gè)小程序是結(jié)合網(wǎng)絡(luò)上的代碼寫(xiě)的一個(gè)直播錄制和彈幕渲染的小工具,大概功能如下:

  • 錄制直播流

  • 錄制直播彈幕

  • 將彈幕渲染為AE項(xiàng)目

渲染到AE后的效果圖,背景視頻隨便加的(默認(rèn)沒(méi)有背景視頻)

? ? 本文主要介紹從沒(méi)用過(guò)Python和命令行的萌新使用這個(gè)代碼,如果你已經(jīng)有相關(guān)基礎(chǔ)可以直接看GitHub的簡(jiǎn)介。

? ? GitHub項(xiàng)目地址:https://github.com/SmallPeaches/DanmakuRender。有更新第一時(shí)間會(huì)在GitHub上更新,有問(wèn)題可以先去重新下載一份最新的代碼試試。

環(huán)境準(zhǔn)備

? ? 首先下載代碼文件,前往GitHub項(xiàng)目地址,然后依次點(diǎn)擊Code-Download ZIP按鈕下載壓縮包,并把文件解壓到你想要的位置。

? ? (可選)下載FFmpeg,如果你決定使用這個(gè)錄制視頻就必須下載。首先下載ffmpeg壓縮包(https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-essentials.7z),下載完成后解壓,把bin/ffmpeg.exe文件復(fù)制到代碼目錄下的tools文件夾里就行了,最后tools文件夾至少有以下文件。

? ? 然后下載Python(不知道怎么下的就下載這個(gè) https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe)。安裝時(shí)一定要注意選擇Add Python xxx to PATH這個(gè)選項(xiàng),其他的隨便。

? ? 下載完成后打開(kāi)之前下載的代碼所在的文件夾(main.py所在的文件夾),然后打開(kāi)命令行窗口(win10系統(tǒng)shift+右鍵點(diǎn)擊頁(yè)面空白處,在菜單中選擇“在此處打開(kāi)powershell窗口”,win11直接右鍵選擇“打開(kāi)Windows Terminal窗口”)。輸入python -V并回車(chē)執(zhí)行,如果出現(xiàn)Python+版本號(hào)的輸出(例如Python 3.10.0)說(shuō)明Python安裝成功,可以執(zhí)行下一步,否則檢查前面的Python安裝步驟是不是沒(méi)做好。

? ? 注意:在Windows 10 舊版本及更早的系統(tǒng)中,可能會(huì)出現(xiàn)安裝好了也無(wú)法正常顯示的情況,只要在安裝完成后重啟一下電腦就好了。

? ? 繼續(xù)之前的命令行窗口,輸入pip install -r requirements.txt安裝Python包,安裝完成后就可以開(kāi)始執(zhí)行程序了。每次執(zhí)行都需要在代碼所在文件夾下打開(kāi)命令行窗口。

? ? TIPS:可以使用鍵盤(pán)方向鍵(上下箭頭)選擇之前執(zhí)行過(guò)的命令,右鍵可以復(fù)制粘貼內(nèi)容。

運(yùn)行程序

? ? 首先簡(jiǎn)單地介紹一下命令行窗口指令的基本格式:每次以可執(zhí)行程序名稱(chēng)開(kāi)始,參數(shù)名稱(chēng)以“-”或者是“--”開(kāi)頭,參數(shù)名稱(chēng)隔一個(gè)空格接參數(shù)的值(如果有的話(huà)),最后按回車(chē)執(zhí)行指令。

? ? 例:“python main.py -n helloworld ”,表示使用Python運(yùn)行main.py程序,輸入?yún)?shù)n的值為helloworld。

? ??以下是一些例子。

錄制彈幕和直播

? ? 錄制默認(rèn)保存位置為save文件夾,不建議修改。如果錄制正常啟動(dòng)的話(huà)會(huì)顯示正在錄制,并且save文件夾下出現(xiàn)錄制內(nèi)容(視頻或者彈幕文件)。


錄制成功效果
錄制的彈幕,保存為csv文件然后使用excel打開(kāi)
  • python main.py -u https://www.huya.com/712416 -n 甜藥?-m?錄制虎牙712416直播間,如果主播下播則一直等待直到開(kāi)播然后錄制,視頻切分為1小時(shí)一個(gè)(常規(guī)錄制)

  • python main.py -u https://www.huya.com/712416?-n 甜藥 -s 0 錄制虎牙712416直播間,如果主播未開(kāi)播則拋出錯(cuò)誤,錄播不分塊(適用于錄制切片)

  • python main.py -u https://www.huya.com/712416?-n 甜藥 -s 0 --record danmu -m?--dftype excel? 錄制虎牙712416直播間,只錄制彈幕,不分塊,將彈幕導(dǎo)出為能被excel加載的文件(適用于錄制彈幕進(jìn)行分析,例如日?qǐng)?bào)主編)

????注意事項(xiàng):

? ? 在錄制過(guò)程中不要使用excel打開(kāi)彈幕文件,否則會(huì)導(dǎo)致錄制崩潰。如果要預(yù)覽也先復(fù)制然后打開(kāi)副本,或者使用記事本打開(kāi)。

? ? 錄制的視頻導(dǎo)入舊版本Pr(CC2018以前版本)會(huì)出現(xiàn)音畫(huà)不同步的情況,如果不更新Pr的話(huà)就需要使用格式工廠(chǎng)等軟件先轉(zhuǎn)碼,然后導(dǎo)入Pr。

渲染彈幕

  • python render.py -f danmu.json?直接渲染彈幕danmu.json到AE并保存,不生成中間文件。(最簡(jiǎn)單的方法,但是彈幕多了可能會(huì)卡?。?/p>

  • python render.py -f danmu.json -o script.jsx 渲染彈幕文件danmu.json,然后生成AE腳本文件script.jsx,之后再自己打開(kāi)AE運(yùn)行腳本。(推薦方法)

  • python render.py -f danmu.json --nosave?直接渲染彈幕danmu.json到AE當(dāng)前項(xiàng)目。

? ? 注意事項(xiàng):

????運(yùn)行AE腳本的方法:打開(kāi)AE并新建項(xiàng)目,點(diǎn)擊文件-腳本-運(yùn)行腳本文件,然后選擇剛剛生成的腳本文件運(yùn)行即可。

? ? 如果在A(yíng)E未打開(kāi)時(shí)使用Python渲染彈幕,則AE會(huì)在文件保存后自動(dòng)退出,如果AE已經(jīng)打開(kāi)項(xiàng)目則會(huì)直接渲染到當(dāng)前項(xiàng)目。

? ? 渲染彈幕是一個(gè)很吃?xún)?nèi)存的操作,在內(nèi)存充足的情況下,每生成一千條彈幕大約需要五分鐘,占用內(nèi)存8G,在渲染過(guò)程中AE會(huì)無(wú)響應(yīng)。如果內(nèi)存不足渲染速度會(huì)大幅下降,如果是錄制彈幕非常多的直播還是建議使用傳統(tǒng)錄屏方法。

? ? 由于A(yíng)E合成的限制,每次渲染的彈幕時(shí)長(zhǎng)不能超過(guò)3個(gè)小時(shí),因此如果是制作錄播的話(huà)不能把分塊時(shí)間設(shè)置為三小時(shí)以上。

參數(shù)列表

????詳細(xì)的參數(shù)和操作建議去GitHub頁(yè)面看,這里給出的可能不全面:

運(yùn)行main.py時(shí)可以附帶以下參數(shù):

????-u 指定錄制鏈接

????-n 指定錄制的名稱(chēng),默認(rèn)為replay

????-o 指定輸出文件夾,默認(rèn)為此目錄下的save文件夾

????-s 指定視頻分塊長(zhǎng)度(單位:秒),默認(rèn)為3600(一個(gè)小時(shí)一個(gè)文件),設(shè)置為0表示不分塊

????-m 監(jiān)視此直播間。如果使用此參數(shù)則程序會(huì)一直監(jiān)視直播間,并在開(kāi)播時(shí)自動(dòng)錄制,直到用戶(hù)主動(dòng)關(guān)閉。如果不使用此參數(shù)則錄制會(huì)在直播結(jié)束時(shí)結(jié)束。默認(rèn)無(wú)此參數(shù),但是大部分情況下都應(yīng)該使用這個(gè)參數(shù),這樣可以保證網(wǎng)絡(luò)出現(xiàn)波動(dòng)程序能正自動(dòng)重啟錄制。

????--ffmpeg 指定ffmpeg.exe可執(zhí)行文件所在路徑

????--record 指定錄制類(lèi)型為以下三種:danmu(只錄制彈幕),video(只錄制視頻),all(都錄制),默認(rèn)為all

???? --dftype 指定彈幕文件保存類(lèi)型:json(默認(rèn)),csv,excel(實(shí)際上是csv文件,但是使用了gbk編碼,可以直接在excel里打開(kāi),但是無(wú)法導(dǎo)入彈幕渲染器

???? --timeout 指定錄制超時(shí)停止的延時(shí)(秒),如果在主播推流有問(wèn)題導(dǎo)致錄制頻繁中斷時(shí)可以調(diào)高此參數(shù),其他情況不建議修改,默認(rèn)為10

運(yùn)行render.py時(shí)可以附帶以下參數(shù):

????-f 指定彈幕文件路徑

????-o 指定保存腳本的位置,如果為空則表示直接運(yùn)行腳本而不保存,默認(rèn)為空。但是建議先保存腳本再運(yùn)行,這樣會(huì)提高效率

????-a 指定AE的主程序AfterFX.exe所在路徑,默認(rèn)為auto,由程序自己搜索

????--nosave 指示AE不主動(dòng)保存項(xiàng)目,也就是只渲染到AE的窗口,如果AE此時(shí)存在項(xiàng)目,則會(huì)在當(dāng)前項(xiàng)目新建一個(gè)合成并渲染,并不會(huì)創(chuàng)建新項(xiàng)目

????錄制和渲染的詳細(xì)配置(例如彈幕字體,彈幕大小等等)在config.json文件中,附帶參數(shù)運(yùn)行會(huì)覆蓋在config.json文件里的設(shè)置。

最后

????如果有bug很正常,因?yàn)槌绦驔](méi)有經(jīng)過(guò)嚴(yán)格測(cè)試,只是一個(gè)簡(jiǎn)單的demo,出了bug可以私信我或者在GitHub上面提交issue,我會(huì)盡量幫你解決。另外有什么好的改進(jìn)想法也可以和我說(shuō)。

????感謝 THMonster/danmaku, wbt5/real-url, ForgQi/biliup 的工作。


DanmakuRender —— 一個(gè)直播錄制和彈幕渲染的小工具的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永年县| 灌云县| 丰原市| 梓潼县| 宝坻区| 普陀区| 水城县| 威海市| 新蔡县| 阿图什市| 抚顺县| 岳普湖县| 大名县| 温宿县| 葵青区| 巨鹿县| 哈巴河县| 喀喇沁旗| 屏边| 江山市| 玛纳斯县| 安康市| 开阳县| 定西市| 乐安县| 抚顺市| 东台市| 怀集县| 兴文县| 扬州市| 堆龙德庆县| 贵州省| 读书| 武清区| 吉安县| 义乌市| 通榆县| 商城县| 昌乐县| 鄂托克旗| 五华县|