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

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

快速合并B站錄播姬的分段錄播文件

2023-07-12 02:36 作者:燈塔姬  | 我要投稿

前言:

本文使用工具有 python3 和 ffmpeg?

python3下載鏈接:https://www.python.org/downloads

ffmpeg下載鏈接:https://ffmpeg.org/download.html

正文:

相信很多錄播姬們都在用 B站錄播姬 錄制視頻,我已經(jīng)把檢測到可能缺少數(shù)據(jù)時分段 這個選項關(guān)掉了,但錄播還是分成了好多段,某次直播直接分成了32段,這樣大大增加了手動合并視頻的工作量。

7月11日的32個分段錄播文件

我自己寫了一個腳本,可以獲取錄播文件的文件名,然后提交到ffmpeg進(jìn)行合并

import glob
import os

def concat_videos():
 ? ?videos = sorted(glob.glob("26545331*.flv"), key=os.path.getmtime)
 ? ?with open('videos.txt', 'w', encoding='UTF-8') as f:
 ? ? ? ?f.write('\n'.join(f"file '{video}'" for video in videos))

 ? ?name = input('輸入日期:')
 ? ?os.system(f"ffmpeg -f concat -safe 0 -i videos.txt -c copy -y {name}直播.mp4")

if __name__ == '__main__': #main是習(xí)慣
 ? ?concat_videos()

這段代碼的功能是讀取當(dāng)前目錄錄播文件名,然后寫入到video.txt里。

然后根據(jù)之前寫入的video.txt來合并錄播文件。

ffmpeg -f concat -safe 0 -i videos.txt -c copy -y 7.11直播.mp4

這段ffmpeg命令就是把videos.txt列出的視頻文件拼接成一個新的文件,由于是拼接不會重新渲染,所以速度很快。

可能有人會疑惑為什么不直接讀取分段錄播文件名來生成合并后的錄播文件的文件名?

這里主要是因為我進(jìn)行錄播的主播 "西official" 經(jīng)常直播到晚上12點(diǎn)之后,錄播文件跨天了,這里為了省事不多寫代碼直接讀取自己輸入的文件名就行了。

執(zhí)行成功

參考文章:

https://docs.python.org/3/library/os.path.html

https://blog.csdn.net/weixin_43115411/article/details/126049598


ai解讀代碼:

  1. import globimport os 導(dǎo)入了需要使用的模塊,glob 模塊用于查找文件路徑匹配的所有文件,os 模塊用于與操作系統(tǒng)交互。

  2. def concat_videos(): 定義了一個名為 concat_videos 的函數(shù),用于拼接視頻文件。

  3. videos = sorted(glob.glob("26545331*.flv"), key=os.path.getmtime) 使用 glob.glob 函數(shù)查找當(dāng)前目錄下以 "26545331" 開頭且以 ".flv" 結(jié)尾的所有文件,并使用 sorted 函數(shù)按照文件的修改時間進(jìn)行排序,結(jié)果存儲在 videos 變量中。

  4. with open('videos.txt', 'w', encoding='UTF-8') as f: 使用 open 函數(shù)打開名為 "videos.txt" 的文本文件,并以寫入模式打開。使用 with 語句可以確保文件在使用結(jié)束后自動關(guān)閉,并將文件對象賦值給 f。

  5. f.write('\n'.join(f"file '{video}'" for video in videos)) 將每個視頻文件名按照要求的格式寫入文件。使用生成器表達(dá)式和 join 方法將文件名連接成一個字符串,并使用換行符分隔每個文件名。

  6. os.system(f"ffmpeg -f concat -safe 0 -i videos.txt -c copy -y {input('輸入日期:')}直播.mp4") 執(zhí)行系統(tǒng)命令,使用 FFmpeg 工具根據(jù) "videos.txt" 中列出的視頻文件進(jìn)行拼接。命令中使用 -f concat 指定拼接方式,-safe 0 禁用安全檢查,-i videos.txt 指定輸入文件為 "videos.txt",-c copy 表示直接復(fù)制流而不進(jìn)行重新編碼,-y 表示覆蓋輸出文件而不詢問確認(rèn),最后通過 input 函數(shù)獲取用戶輸入的日期字符串并拼接到輸出文件名中。

  7. if __name__ == '__main__': 檢查當(dāng)前模塊是否作為主程序運(yùn)行。

  8. concat_videos() 調(diào)用 concat_videos 函數(shù),執(zhí)行視頻拼接操作。

解讀 ffmpeg -f concat -safe 0 -i videos.txt -c copy -y 7.11直播.mp4

根據(jù)你提供的命令 ffmpeg -f concat -safe 0 -i videos.txt -c copy -y 7.11直播.mp4,它使用 FFmpeg 工具將 videos.txt 中列出的視頻文件進(jìn)行拼接,并生成一個名為 7.11直播.mp4 的輸出文件。

讓我逐個解釋這個命令的含義:

  • ffmpeg: 這是 FFmpeg 工具的命令行執(zhí)行程序。

  • -f concat: 指定使用拼接器(concatenator)作為輸入文件。

  • -safe 0: 禁用對文件路徑的安全檢查,允許拼接器讀取任意文件路徑。

  • -i videos.txt: 指定輸入文件為 videos.txt,該文件包含要拼接的視頻文件列表。

  • -c copy: 指定將輸入流復(fù)制到輸出文件,而不進(jìn)行重新編碼。

  • -y: 在輸出文件存在時,自動覆蓋同名的輸出文件,而不需要用戶確認(rèn)。

  • 7.11直播.mp4: 輸出文件的文件名為 7.11直播.mp4。

綜合起來,該命令告訴 FFmpeg 工具讀取 videos.txt 中列出的視頻文件,并按照順序?qū)⑺鼈兤唇悠饋?,然后將拼接后的結(jié)果保存為 7.11直播.mp4。請確保 videos.txt 文件包含正確的視頻文件列表,并且所需的視頻文件都位于當(dāng)前工作目錄中。


快速合并B站錄播姬的分段錄播文件的評論 (共 條)

分享到微博請遵守國家法律
卢龙县| 汝阳县| 乌拉特前旗| 大同县| 蓝田县| 安达市| 鄢陵县| 龙江县| 东丽区| 江阴市| 岳阳市| 隆回县| 综艺| 东丰县| 丰城市| 固始县| 屏东市| 庆城县| 东光县| 和顺县| 咸宁市| 武安市| 西城区| 延边| 铁岭县| 冷水江市| 济阳县| 罗江县| 石柱| 蛟河市| 泰和县| 铜鼓县| 綦江县| 临漳县| 平利县| 乌恰县| 长治县| 太湖县| 漳浦县| 尉氏县| 东安县|