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

python+moviepy音視頻處理(二):視頻添加文字(字幕)、視頻添加漢字不顯示問題

這篇具有很好參考價值的文章主要介紹了python+moviepy音視頻處理(二):視頻添加文字(字幕)、視頻添加漢字不顯示問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

目錄

添加文字報錯處理

中文不顯示處理

代碼實例

給視頻添加滾動文字(一)

給視頻添加滾動文字(二)


添加文字報錯處理

報錯內(nèi)容:OSError: MoviePy Error: creation of None failed because of the following error:
[WinError 2] 系統(tǒng)找不到指定的文件。.
.This error can be due to the fact that ImageMagick is not installed on your computer, or (for Windows users) that you didn't specify the path to the ImageMagick binary in file conf.py, or that the path you specified is incorrect.

報錯原因:moviepy處理視頻使用的是 ffmpeg,生成文字使用的是 ImageMagick。Windows系統(tǒng)在執(zhí)行 editor.TextClip() 的時候,會報出如上錯誤,原因是由于電腦上缺少ImageMagick造成的。
處理方法:需要去官網(wǎng)下載對應(yīng)操作系統(tǒng)的ImageMagick。下載地址:http://www.imagemagick.org/script/download.php,由于是外網(wǎng),下載速度比較慢。下載完成并安裝到指定位置,然后修改site-packages\moviepy\config_defaults.py,在文件的尾部有如下內(nèi)容:

import os

FFMPEG_BINARY = os.getenv('FFMPEG_BINARY', 'ffmpeg-imageio')
IMAGEMAGICK_BINARY = os.getenv('IMAGEMAGICK_BINARY', 'auto-detect')

# 把 `IMAGEMAGICK_BINARY = ` 后面的內(nèi)容
# 換成 ImageMagick 安裝路徑下 magick.exe 的絕對路徑,如下:

import os

FFMPEG_BINARY = os.getenv('FFMPEG_BINARY', 'ffmpeg-imageio')
IMAGEMAGICK_BINARY = r"C:\Program Files\ImageMagick-7.1.0-Q16\magick.exe"

中文不顯示處理

moviepy對中文和多語言環(huán)境的支持做得并不好,包括中文文件名以及用于顯示文字的TextClip就是典型的中文支持方面存在問題的。對于編解碼的問題,可以通過修改解碼語句中的編碼類型為’asn’或‘cp936’等方式解決,對于文字顯示的處理,稍微麻煩。解決辦法:找到對應(yīng)中文字庫,將其字庫文件拷貝到代碼所在目錄,將TextClip的參數(shù)font不用字體名,而是用字體文件名。字體庫位置:C:\Windows\Fonts,鼠標(biāo)右擊字體文件,找到屬性中安全下的對象名稱,將對象名稱復(fù)制下來作為font的值。

代碼實例

from moviepy.editor import VideoFileClip
from moviepy import editor

clip = VideoFileClip('video.mp4')
text = '''
紅箋小字。
說盡平生意。
鴻雁在云魚在水。
惆悵此情難寄。

斜陽獨(dú)倚西樓。
遙山恰對簾鉤。
人面不知何處,
綠波依舊東流。
'''
text_clip = editor.TextClip(text, font=r'./font/STKAITI.TTF', fontsize=30, color='blue', bg_color='white', transparent=True)
"""
set_position:設(shè)置文字顯示位置【屏幕左上角為(0, 0),右下角為(屏幕寬度, 屏幕高度)】
    1、set_position((800, 500)): 顯示在800, 500的位置上
    2、set_position(("center", "center")): 顯示在屏幕的正中央
    3、set_position((0.4, 0.6), True): 顯示在距離左邊百分之40、距離上邊百分之60的位置上
set_duration(10): 持續(xù)10秒
set_opacity(0.6): 設(shè)置透明度為0.6
set_start(5):設(shè)置開始顯示的時間點(diǎn)
set_end(10):設(shè)置結(jié)束的時間點(diǎn)

"""
text_clip = text_clip.set_position(("center", "center")).set_duration(20).set_opacity(0.8)

video_clip = editor.CompositeVideoClip([clip, text_clip])  # 把文本剪貼板貼在視頻上

video_clip.write_videofile("demo1.mp4")  # 保存視頻

給視頻添加滾動文字(一)

from moviepy.editor import VideoFileClip, vfx
from moviepy import editor

demo_video = VideoFileClip('video.mp4')

text = '''
紅箋小字。
說盡平生意。
鴻雁在云魚在水。
惆悵此情難寄。

斜陽獨(dú)倚西樓。
遙山恰對簾鉤。
人面不知何處,
綠波依舊東流。
'''

text_clip = editor.TextClip(text * 4, font=r'./font/STKAITI.TTF', fontsize=20, color="red").set_position(
    ('center', 0)).set_duration(20).set_opacity(0.8).set_start(5).set_end(25)  # 可以直接使用鏈?zhǔn)讲僮?
w, h = demo_video.size

x_speed = x_start = y_start = 0
y_speed = 20
text_clip = text_clip.fx(vfx.scroll, w, h, x_speed, y_speed, x_start, y_start)

video_clip = editor.CompositeVideoClip([demo_video, text_clip])
video_clip.write_videofile('demo_video01.mp4')

給視頻添加滾動文字(二)

from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip

# 同畫面中合併視頻,視頻顯示位置設(shè)置或屏幕中文本字幕顯示位置set_pos('center')、set_pos((45,150)),見http://doc.moviepy.com.cn/index.html#中的剪輯定位
## 1、添加文字
clip = VideoFileClip('video.mp4')
text = '其形也,翩若驚鴻,婉若游龍。\n榮曜秋菊,華茂春松。\n髣髴兮若輕云之蔽月,飄飖兮若流風(fēng)之回雪。\n遠(yuǎn)而望之,皎若太陽升朝霞;迫而察之,灼若芙蕖出淥波。\n秾纖得衷,修短合度。肩若削成,腰如約素。\n延頸秀項,皓質(zhì)呈露。芳澤無加,鉛華弗御。\n云髻峨峨,修眉聯(lián)娟。丹唇外朗,皓齒內(nèi)鮮,明眸善睞,靨輔承權(quán)。\n瑰姿艷逸,儀靜體閑。柔情綽態(tài),媚于語言。奇服曠世,骨像應(yīng)圖。\n披羅衣之璀粲兮,珥瑤碧之華琚。戴金翠之首飾,綴明珠以耀軀。\n踐遠(yuǎn)游之文履,曳霧綃之輕裾。微幽蘭之芳藹兮,步踟躕于山隅。'

txt_clip = TextClip(txt=text, fontsize=20, color='red', font=r'./font/STKAITI.TTF')

txt_clip = txt_clip.set_pos(lambda t: ('center', -100 + t * 20)).set_duration(25)  # 設(shè)置一個隨時間變化自動移動的動態(tài)字幕

video = CompositeVideoClip([clip, txt_clip])  # 將文本剪輯覆蓋在第一個視頻剪輯上

video.write_videofile('demo2023.mp4')

補(bǔ)充(視頻屬性判斷)文章來源地址http://www.zghlxwxcb.cn/news/detail-486297.html

clip = VideoFileClip('video.mp4')

# 是否作為遮罩使用
print(clip.ismask)  

# 幀的構(gòu)建方法,通過構(gòu)造方法傳入或set_make_frame方法設(shè)置,幀的構(gòu)建方法用于根據(jù)時間構(gòu)建幀,該方法是get_frame獲取幀時調(diào)用的方法。幀的構(gòu)建可以從已有剪輯中獲取或變換,也可以代碼自己填充
print(clip.make_frame)  

# 當(dāng)一個視頻幀有遮罩時,使用該屬性記錄遮罩的剪輯。如果為None,則視頻剪輯完全不透明??梢酝ㄟ^add_mask、set_opacity等方法來構(gòu)建剪輯的遮罩,也可以通過set_mask來將已有的剪輯設(shè)置為視頻剪輯的遮罩
print(clip.mask)

# aspect_ratio屬性為剪輯的縱橫比,實際上就是剪輯的寬/高。注意該屬性為浮點(diǎn)數(shù),只讀,通過屬性名訪問
print(clip.aspect_ratio)

到了這里,關(guān)于python+moviepy音視頻處理(二):視頻添加文字(字幕)、視頻添加漢字不顯示問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 如何使用Python進(jìn)行可視化/音視頻處理?

    要使用Python進(jìn)行可視化和音視頻處理,可以使用以下庫: matplotlib:用于繪制各種類型的圖表和圖形,包括折線圖、柱狀圖、散點(diǎn)圖等。 seaborn:基于matplotlib的可視化庫,提供更高級別的圖表和樣式,用于創(chuàng)建各種吸引人的統(tǒng)計圖表。 plotly:用于創(chuàng)建交互式圖表和數(shù)據(jù)可視化

    2024年02月09日
    瀏覽(33)
  • 「Python|音視頻處理|場景案例」如何使用ffmpeg下載m3u8視頻到本地并保存成mp4

    本文主要介紹如何使用ffmpeg批量下載視頻到本地并保存成指定格式。 當(dāng)我們希望將網(wǎng)頁上的視頻下載到本地的時候,我們可能獲取到的視頻地址是指向 .m3u8 格式的,當(dāng)視頻多的時候,手動下載并使用工具轉(zhuǎn)換格式就顯得工作量過大。 ffmpeg 是一個強(qiáng)大的音視頻處理工具,具體

    2024年02月16日
    瀏覽(34)
  • 音視頻 FFmpeg音視頻處理流程

    音視頻 FFmpeg音視頻處理流程

    推薦一個零聲學(xué)院項目課,個人覺得老師講得不錯,分享給大家: 零聲白金學(xué)習(xí)卡(含基礎(chǔ)架構(gòu)/高性能存儲/golang云原生/音視頻/Linux內(nèi)核) https://xxetb.xet.tech/s/VsFMs

    2024年02月12日
    瀏覽(97)
  • Qt音視頻開發(fā)47-文字和圖片水?。纱鎯Φ組P4中)

    近期花了兩周時間閉門啃硬骨頭,主要就解決三個問題(音視頻同步存儲和推流、圖片水印并將水印信息存儲到文件或者推流、rtsp推流),這三個問題困擾了很多年,以至于找遍了網(wǎng)絡(luò)和翻遍ffplay代碼以及ffmpeg示例的代碼,通過不下于上百次方案的調(diào)整和測試,幾乎每次都是

    2024年02月16日
    瀏覽(43)
  • 【音視頻原理】音視頻 “ 采樣 - 編碼 - 封裝 過程 “ 和 “ 解封裝 - 解碼 - 播放 過程 “ 分析 ( 視頻采集處理流程 | 音頻采集處理流程 | 音視頻文件解封裝播放流程 )

    【音視頻原理】音視頻 “ 采樣 - 編碼 - 封裝 過程 “ 和 “ 解封裝 - 解碼 - 播放 過程 “ 分析 ( 視頻采集處理流程 | 音頻采集處理流程 | 音視頻文件解封裝播放流程 )

    本篇文件主要分析 音視頻文件 是怎么產(chǎn)生的 , 以及 音視頻文件是如何播放的 ; 視頻文件從錄像到生成文件的全過程 : 采集圖像幀 : 攝像頭 硬件 負(fù)責(zé) 采集畫面 , 采集的 初始畫面 稱為 \\\" 圖像幀 \\\" , 一秒鐘 采集 的 圖像幀 數(shù)量 稱為 \\\" 幀率 \\\" , 如 : 60 幀 就是 一秒鐘采集 60 個畫

    2024年02月11日
    瀏覽(103)
  • Py之AV:Python下音視頻處理的良伴,AV庫的全面介紹、詳細(xì)安裝和使用方法!

    Py之AV:Python下音視頻處理的良伴,AV庫的全面介紹、詳細(xì)安裝和使用方法! Python作為一門廣泛使用的編程語言,其實也可以用來進(jìn)行音視頻的處理。AV庫就是一個功能強(qiáng)大、易于使用的Python音視頻處理庫,能夠方便地完成多種音視頻格式的讀取、解碼和編碼等操作。 本文將全

    2024年02月12日
    瀏覽(117)
  • [音視頻處理] FFmpeg使用指北1-視頻解碼

    本文將詳細(xì)介紹如何使用ffmpeg 4.4在C++中解碼多種格式的媒體文件,這些媒體文件可以是視頻、視頻流、圖片,或是桌面截屏或USB攝像頭的實時圖片。解碼文件后,還將每幀圖片轉(zhuǎn)換為OpenCV的Mat格式以供后續(xù)使用。 目錄 1 基于ffmpeg的媒體文件解碼 1.1 簡介 1.2 詳細(xì)代碼 2 ffmpeg函

    2024年02月07日
    瀏覽(26)
  • Java音視頻處理——JavaCV

    Java音視頻處理——JavaCV

    目錄 ? 簡介 Maven 軟件環(huán)境 JavaCV-Examples OpenCV Cookbook Examples 概述 示例 OpenCV文檔 如何使用JavaCV示例 示例代碼的組織結(jié)構(gòu) 示例列表 Why Scala? 學(xué)習(xí)地址 圖像簡單處理代碼示例 1.打開保存一張圖 ?2.畫直線 3.畫圓圈 4.畫折現(xiàn) 5.添加文字水印 6.裁剪并局部放大 7.人臉檢測 視頻簡單處

    2024年02月03日
    瀏覽(29)
  • 【W(wǎng)ebpack】處理字體圖標(biāo)和音視頻資源

    【W(wǎng)ebpack】處理字體圖標(biāo)和音視頻資源

    打開阿里巴巴矢量圖標(biāo)庫open in new window 選擇想要的圖標(biāo)添加到購物車,統(tǒng)一下載到本地 src/fonts/iconfont.ttf src/fonts/iconfont.woff src/fonts/iconfont.woff2 src/css/iconfont.css 注意字體文件路徑需要修改 src/main.js public/index.html type: \\\"asset/resource\\\" 和 type: \\\"asset\\\" 的區(qū)別: type: \\\"asset/resource\\\" ?相當(dāng)于

    2024年02月20日
    瀏覽(24)
  • FFmpeg音視頻處理工具介紹及應(yīng)用

    FFmpeg音視頻處理工具介紹及應(yīng)用

    FFmpeg項目由 Fabrice Bellard在2000年創(chuàng)立。到目前為止,F(xiàn)Fmpeg項目的開發(fā)者仍然與VLC、MPV、dav1d、x264等多媒體開源項目有著廣泛的重疊。Ffmpeg(FastForward Mpeg)是一款遵循GPL的開源軟件,在音視頻處理方面表現(xiàn)十分優(yōu)秀,幾乎囊括了現(xiàn)存所有的視音頻格式的編碼,解碼、轉(zhuǎn)碼、混合

    2024年02月08日
    瀏覽(94)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包