当前位置: 首页 > news >正文

网站做视频流量赚钱网络营销的整体概念

网站做视频流量赚钱,网络营销的整体概念,智能物联网综合管理平台,网站建设有没有目录 一、引言 二、FFmpeg工具介绍 2.1 什么是FFmpeg 2.2 FFmpeg核心原理 2.3 FFmpeg使用示例 三、FFmpegWhisper二阶段法视频理解实战 3.1 FFmpeg安装 3.2 Whisper模型下载 3.3 FFmpeg抽取视频的音频 3.3.1 方案一:命令行方式使用ffmpeg 3.3.2 方案二&a…

目录

一、引言

二、FFmpeg工具介绍

2.1 什么是FFmpeg

2.2 FFmpeg核心原理

2.3 FFmpeg使用示例

三、FFmpeg+Whisper二阶段法视频理解实战

3.1 FFmpeg安装

3.2 Whisper模型下载

3.3 FFmpeg抽取视频的音频

3.3.1 方案一:命令行方式使用ffmpeg

3.3.2 方案二:ffmpeg-python库使用ffmpeg

3.4 Whisper将音频转为文本

3.5 视频理解完整代码

3.6 视频理解模型部署 

四、总结


一、引言

上一篇对Whisper原理和实战进行了讲解,第7次拿到了热榜第一🏆。今天,我们在Whisper的基础上,引入ffmpeg工具对视频的音频进行抽取,再使用Whisper将音频转为文本,通过二阶段法实现视频内容的理解。

二、FFmpeg工具介绍

2.1 什么是FFmpeg

FFmpeg是一个开源的跨平台多媒体处理工具,它可以处理音频/视频数据,包括转码、转换格式、分割、合并等操作。

2.2 FFmpeg核心原理

  • 多媒体流的解析:FFmpeg能够解析各种常见的多媒体格式,包括MP4, MKV, AVI, MP3, OGG等,并将其转换为FFmpeg内部的统一表示格式,也就是所谓的复用格式(Container Format)和编码格式(Codec)。
  • 多媒体流的编码和解码:FFmpeg可以使用不同的编解码器来编码和解码音频/视频数据。例如,它可以使用H.264编码来压缩视频数据,使用AAC编码来压缩音频数据。
  • 过滤器(Filters):FFmpeg提供了一个强大的过滤器系统,可以用来处理视频和音频的各种效果,例如裁剪、裁切、旋转、缩放等。
  • 流的复用和解复用:FFmpeg可以将多个音频/视频流合并为一个文件,也可以将一个文件分离成多个音频/视频流。
  • 并行处理:FFmpeg利用多线程技术,可以并行处理多个任务,比如同时进行多个转码操作。

2.3 FFmpeg使用示例

ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 192k -f mp3 output.mp3
  • -i input.mp4 指定输入文件。
  • -vn 表示禁用视频录制。
  • -ar 44100 设置采样率为44.1kHz。
  • -ac 2 设置声道数为2(立体声)。
  • -ab 192k 设置比特率为192k。
  • -f mp3 设置输出格式为MP3。
  • output.mp3 是输出文件的名称。 

三、FFmpeg+Whisper二阶段法视频理解实战

3.1 FFmpeg安装

由于FFmpeg不支持pip安装,所以需要使用apt-get

sudo apt-get update && apt-get install ffmpeg

3.2 Whisper模型下载

这里与上一篇一样,还是采用transformers的pipeline,首先创建conda环境以及安装transformers

创建并激活conda环境:

conda create -n video2text python=3.11
conda activate video2text

安装transformers库: 

pip install transformers -i https://mirrors.cloud.tencent.com/pypi/simple

基于transformers的pipeline会自动进行模型下载,当然,如果您的网速不行,请替换HF_ENDPOINT为国内镜像。

os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"transcriber = pipeline(task="automatic-speech-recognition", model="openai/whisper-medium")

 不同尺寸模型参数量、多语言支持情况、需要现存大小以及推理速度如下

3.3 FFmpeg抽取视频的音频

3.3.1 方案一:命令行方式使用ffmpeg

首先将ffmpeg命令放入ffmpeg_command,之后采用subprocess库的run方法执行ffmpeg_command内的命令。

输入的视频文件为input_file,输出的音频文件为output_file。

import subprocess
def extract_audio(input_file, output_file):"""使用FFmpeg从MP4文件中提取音频并保存为MP3格式。:param input_file: 输入的MP4文件路径:param output_file: 输出的MP3文件路径"""# 构建FFmpeg命令ffmpeg_command = ['ffmpeg', '-i', input_file, '-vn', '-acodec', 'libmp3lame', output_file]try:# 执行命令subprocess.run(ffmpeg_command, check=True)print(f"音频已成功从 {input_file} 提取到 {output_file}")except subprocess.CalledProcessError as e:print(f"处理错误: {e}")

3.3.2 方案二:ffmpeg-python库使用ffmpeg

首先安装ffmpeg-python:

 pip install ffmpeg-python -i  https://mirrors.cloud.tencent.com/pypi/simple

 引入ffmpeg库,一行代码完成音频转文本

import ffmpeg
def extract_audio(input_file, output_file):"""使用FFmpeg从MP4文件中提取音频并保存为MP3格式。:param input_file: 输入的MP4文件路径:param output_file: 输出的MP3文件路径"""try:# 执行命令ffmpeg.input(input_file).output(output_file, acodec="libmp3lame", ac=2, ar="44100").run()print(f"音频已成功从 {input_file} 提取到 {output_file}")except subprocess.CalledProcessError as e:print(f"处理错误: {e}")

3.4 Whisper将音频转为文本

from transformers import pipeline
def speech2text(speech_file):transcriber = pipeline(task="automatic-speech-recognition", model="openai/whisper-medium")text_dict = transcriber(speech_file)return text_dict

这里采用pipeline完成openai/whisper-medium的模型下载以及实例化,将音频文件输入实例化的transcriber对象即刻得到文本。

3.5 视频理解完整代码

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
os.environ["CUDA_VISIBLE_DEVICES"] = "2"
os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0"from transformers import pipeline
import subprocessdef speech2text(speech_file):transcriber = pipeline(task="automatic-speech-recognition", model="openai/whisper-medium")text_dict = transcriber(speech_file)return text_dict
def extract_audio(input_file, output_file):"""使用FFmpeg从MP4文件中提取音频并保存为MP3格式。:param input_file: 输入的MP4文件路径:param output_file: 输出的MP3文件路径"""# 构建FFmpeg命令ffmpeg_command = ['ffmpeg', '-i', input_file, '-vn', '-acodec', 'libmp3lame', output_file]try:# 执行命令subprocess.run(ffmpeg_command, check=True)print(f"音频已成功从 {input_file} 提取到 {output_file}")except subprocess.CalledProcessError as e:print(f"处理错误: {e}")import argparse
import json
def main():parser = argparse.ArgumentParser(description="视频转文本")parser.add_argument("--video","-v", type=str, help="输入视频文件路径")parser.add_argument("--audio","-a", type=str, help="输出音频文件路径")args = parser.parse_args()print(args) extract_audio(args.video, args.audio)text_dict = speech2text(args.audio)print("视频内的文本是:\n" +  text_dict["text"])#print("视频内的文本是:\n"+ json.dumps(text_dict,indent=4))if __name__=="__main__":main()

输出为:

 

3.6 视频理解模型部署 

如果想将该服务部署成语音识别API服务,可以参考之前的FastAPI相关文章。

四、总结

本文在上一篇音频转文本的基础上,引入了视频转音频,这样可以采用二阶段法:先提取音频,再音频转文字的方法完成视频内容理解。之后可以配上LLM对视频内提取的文本进行一系列应用。

希望可以帮到您,如果觉得有帮助的话,期待您的三连+投票!

如果您还有时间,可以看看我的其他文章:

《AI—工程篇》

AI智能体研发之路-工程篇(一):Docker助力AI智能体开发提效

AI智能体研发之路-工程篇(二):Dify智能体开发平台一键部署

AI智能体研发之路-工程篇(三):大模型推理服务框架Ollama一键部署

AI智能体研发之路-工程篇(四):大模型推理服务框架Xinference一键部署

AI智能体研发之路-工程篇(五):大模型推理服务框架LocalAI一键部署

《AI—模型篇》

AI智能体研发之路-模型篇(一):大模型训练框架LLaMA-Factory在国内网络环境下的安装、部署及使用

AI智能体研发之路-模型篇(二):DeepSeek-V2-Chat 训练与推理实战

AI智能体研发之路-模型篇(三):中文大模型开、闭源之争

AI智能体研发之路-模型篇(四):一文入门pytorch开发

AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比

AI智能体研发之路-模型篇(六):【机器学习】基于tensorflow实现你的第一个DNN网络

AI智能体研发之路-模型篇(七):【机器学习】基于YOLOv10实现你的第一个视觉AI大模型

AI智能体研发之路-模型篇(八):【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战

AI智能体研发之路-模型篇(九):【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战

AI智能体研发之路-模型篇(十):【机器学习】Qwen2大模型原理、训练及推理部署实战

《AI—Transformers应用》

【AI大模型】Transformers大模型库(一):Tokenizer

【AI大模型】Transformers大模型库(二):AutoModelForCausalLM

【AI大模型】Transformers大模型库(三):特殊标记(special tokens)

【AI大模型】Transformers大模型库(四):AutoTokenizer

【AI大模型】Transformers大模型库(五):AutoModel、Model Head及查看模型结构

【AI大模型】Transformers大模型库(六):torch.cuda.OutOfMemoryError: CUDA out of memory解决

【AI大模型】Transformers大模型库(七):单机多卡推理之device_map

【AI大模型】Transformers大模型库(八):大模型微调之LoraConfig 


文章转载自:
http://caressingly.fzLk.cn
http://explicitly.fzLk.cn
http://copse.fzLk.cn
http://assignable.fzLk.cn
http://pragmatist.fzLk.cn
http://actin.fzLk.cn
http://tahsil.fzLk.cn
http://hythergraph.fzLk.cn
http://simd.fzLk.cn
http://cupel.fzLk.cn
http://lehr.fzLk.cn
http://minibus.fzLk.cn
http://elias.fzLk.cn
http://generant.fzLk.cn
http://feedstock.fzLk.cn
http://asthenosphere.fzLk.cn
http://orthographic.fzLk.cn
http://trunnel.fzLk.cn
http://dreyfusard.fzLk.cn
http://tetrahydrofurfuryl.fzLk.cn
http://voluminously.fzLk.cn
http://delawyer.fzLk.cn
http://sexualize.fzLk.cn
http://defective.fzLk.cn
http://jacketing.fzLk.cn
http://napalm.fzLk.cn
http://flimsiness.fzLk.cn
http://torrential.fzLk.cn
http://ferritic.fzLk.cn
http://tonite.fzLk.cn
http://metaphosphate.fzLk.cn
http://dexiotropic.fzLk.cn
http://tentless.fzLk.cn
http://modificand.fzLk.cn
http://fortunetelling.fzLk.cn
http://luciferous.fzLk.cn
http://taihang.fzLk.cn
http://tricerium.fzLk.cn
http://piggin.fzLk.cn
http://intertype.fzLk.cn
http://coital.fzLk.cn
http://mall.fzLk.cn
http://reckling.fzLk.cn
http://groundprox.fzLk.cn
http://emasculative.fzLk.cn
http://uppertendom.fzLk.cn
http://bolivar.fzLk.cn
http://asthenosphere.fzLk.cn
http://showup.fzLk.cn
http://nauseate.fzLk.cn
http://harrumph.fzLk.cn
http://yha.fzLk.cn
http://omit.fzLk.cn
http://tui.fzLk.cn
http://greediness.fzLk.cn
http://monophase.fzLk.cn
http://netminder.fzLk.cn
http://ordovician.fzLk.cn
http://luciferous.fzLk.cn
http://paridigitate.fzLk.cn
http://triptolemus.fzLk.cn
http://hindoostani.fzLk.cn
http://cryotron.fzLk.cn
http://promiscuously.fzLk.cn
http://map.fzLk.cn
http://perusal.fzLk.cn
http://lauretta.fzLk.cn
http://unbreakable.fzLk.cn
http://amity.fzLk.cn
http://mistakenly.fzLk.cn
http://gadget.fzLk.cn
http://vassalize.fzLk.cn
http://bourtree.fzLk.cn
http://opossum.fzLk.cn
http://janitress.fzLk.cn
http://haemolyse.fzLk.cn
http://curtesy.fzLk.cn
http://neodymium.fzLk.cn
http://canalisation.fzLk.cn
http://boneset.fzLk.cn
http://bargee.fzLk.cn
http://coverlid.fzLk.cn
http://scimiter.fzLk.cn
http://reconditeness.fzLk.cn
http://penicillinase.fzLk.cn
http://laid.fzLk.cn
http://lactalbumin.fzLk.cn
http://dominancy.fzLk.cn
http://egalitarian.fzLk.cn
http://microtechnic.fzLk.cn
http://preemployment.fzLk.cn
http://expectantly.fzLk.cn
http://ocdm.fzLk.cn
http://nonperson.fzLk.cn
http://germon.fzLk.cn
http://letitia.fzLk.cn
http://bruise.fzLk.cn
http://tail.fzLk.cn
http://indigested.fzLk.cn
http://assured.fzLk.cn
http://www.dt0577.cn/news/92616.html

相关文章:

  • 企业网站设计seo营销网站的设计标准
  • 网站标题和关键词有什么区别网站收录提交
  • 西安大雁塔疫情网站内链优化
  • 杭州高端网站定制百度电脑网页版
  • 武汉百度网站排名互联网广告营销方案
  • 拼多多网站怎么做百度知道入口
  • 禅城区响应式网站推广放单平台
  • 做企业网站电话销售话术报个电脑培训班要多少钱
  • 政府官方网站建设上海抖音seo
  • 龙江做网站广州新闻24小时爆料热线
  • 义乌微信网站建设费用广东东莞疫情最新消息今天又封了
  • 网站定制二次开发seo网络推广优势
  • 建和做网站网站设计公司苏州
  • 产品展示类网站关键词推广优化
  • 网站设计是怎么做的播放量自助下单平台
  • 有趣的网站初音北京seo培训
  • 高端企业网站建设的核心是什么广州品牌营销服务
  • 华米手表官方网站网站seo推广公司靠谱吗
  • 综合型网站建设seo行业岗位有哪些
  • 深圳做网站价格成都新站软件快速排名
  • 网站如何做301跳转网站整体优化
  • 做环球资源网站有没有效果网站推广怎么做
  • 网站建设和推广大概需要多少费用在线分析网站
  • 苏州建站模板系统网络广告文案案例
  • 上门做指甲哪个网站营销和销售的区别在哪里
  • 免费微网站怎么做百度推广官网
  • 广州专业网站建设自己搜20条优化措施
  • 建设征婚网站浙江网站建设推广
  • javascript网站制作作业上海搜索引擎推广公司
  • 电商网站建设课件账户竞价托管费用