快速上手:利用音频大模型与Java提取视频文案

1、前言

    近期要做个智能文案工具,来帮助电商公司的运营同学提效。包括AI创作、风格改写、文案续写、文案提取、智能问答等功能的运营文案创作助手。
    其中AI创作、风格改写啊,实现过程比较简单,基本上就是把用户的想法,包括主题、观点传给文本大模型即可,通过限定大模型系统提示词,加上外挂电商营销文案知识库,一般大模型会给出符合主题和观点的文案。
    在文案提取功能上遇到了卡点,我们希望能提取视频中的营销文案内容。在实现前简单的理解为文本大模型可以直接识别在线的视频链接,然后给出视频文案。实际上不是的。问了下DeepSeek、元宝、Kimi等都是给出"无法直接访问XX或其他外部链接的内容"。其中百度网页版也能分析出点内容,但是和我们想要的视频文案差距太大。

  • DeepSeek(网页版)
    在这里插入图片描述

  • Baidu(DeepSeek-R1网页版)
    在这里插入图片描述

2、需求说明

2.1 需求说明

    我们希望能提取出视频链接的原始文案,而不是对视频的内容分析,视频的理解,视频的标题等无关内容。
    因为有了原始文案,我们可以对文案进行二创、润色、风格改写等动作。
    同样的我们也能够获取视频分析、视频标题、视频标签等信息。

2.2 数据准备

在这里插入图片描述

  • 三方平台视频链接
// 精选链接:
https://www.douyin.com/jingxuan?modal_id=7359544025726143771
// 详情页链接
https://www.douyin.com/video/7359544025726143771
  • 视频文案如下
贫穷真的跟懒惰有关系吗?江秦这些年一直在思考这个问题。他觉得自己已经足够勤奋了,完全对得起自己的名字。可钱呢?钱到底是被谁给赚走了?小时候,爸妈曾语重心长地告诉他,只要你肯吃苦,就一定会出人头地。但他长大后发现的事实却是,只要你肯吃苦,就一定有吃不完的苦。现在,他的相亲对象要彩礼三十万。江秦,你有没有听我说话?嗯,我一直听着呢。那你怎么一声也不吭?我都说了半天,嗓子都哑了,你也不管。江秦放下水杯,沉默半晌后开口:这婚要不还是别结了吧。女人愣了一下,随即勃然大怒:你这话是什么意思?没什么,就是觉得好累,想回家睡一觉。江秦,你个孬种,怪不得你都三十八了,也没有女人想跟你。江秦不顾女人的咆哮,迈步走出了西餐厅,沿着马路漫无目的地往前走去。走到一个建筑工地的时候,他看到围墙上挂着一条横幅,写着:打工人是人上人。于是,他点上根烟,吧嗒抽了两口后,在在上面烫了个洞。他对那个女人其实没有太多的怨言,甚至觉得她的要求很正常。人家都三十五了,现实一点有什么毛病?他只是在思考一个问题,这样的日子哪一天是个尽头。没打过工的人拼命鼓吹着打工人是人上人,一直在打工的人却什么都不敢说,只能点头承认:啊,对对对。可自己到底哪里像个人上人?这辈子就混了两双爱意还是莆田的,你管这叫人上人?至于爱情,江秦甚至都不知道这东西存不存在。他相过几次亲,见过几个朋友介绍的女孩,无论哪个都可以凑合过,但最悲哀的也是仅限于凑合过。回顾一生,这辈子的遗憾真的太多了。江秦叹了口气,从口袋里摸出电话,想找个朋友陪自己喝点酒,但点菜后却看到了四条短信:一条信用卡催款通知,一条话费欠费预警,一条哥哥我在附近,今天家里没有人,最后一条来自他的直属领导,用语重心长的文字跟他说:最近公司效益不好,希望员工可以自愿降薪,与公司一起共渡难关。江秦瞬间失去了喝酒的心情,继续在施工楼下抽着烟。在这个时代,你想要有钱就绝对不能打工,因为这个社会的资源分配本来就是不公平的。可是一想到自己的年纪,江秦忍不住笑了。三十八了,再去创业有点不现实吧?他这两年腰都累断了,颈椎也出问题了,交叉神经痛比尿频还勤快。拖着这残破的身躯去创业,就算成功也得五十岁了。这人生还有什么可享受的?要是能重来就好了,打什么都别打工,能傍富婆就傍富婆,实在不行就创业,坚信钱没了可以再赚,可良心没了赚的更多。

3、功能实现

3.1 使用视频理解大模型能力

  • 思路
        把视频链接传给大模型,让大模型识别视频文案并输出。

  • 视频理解大模型原理
        对视频文件每隔0.5秒抽取一帧,采用图像理解技术识别每帧图像信息,通过图像分析间接实现视频内容分析的。
        允许设置fps参数控制抽帧频率,高速运动场景比如体育赛事、动作电影适合较高的fps;长视频或内容偏静态视频适合较低的fps。

  • 以通义千问VL模型为例

    • 文件形式
      • 在线视频链接要求:视频链接是公网访问且没有权限拦截的,文件是常见的视频文件格式。否则无法获取视频内容,就无法做视频理解。
      • 支持使用本地文件:通过SDK允许使用本地文件。需要将本地文件编码为Base64格式,或者直接传入本地路径。
    • 文件限制
      • 视频文件大小:Qwen2.5-VL系列模型支持传入的视频大小不超过1 GB,其他模型不超过150MB
      • 视频文件格式: MP4、AVI、MKV、MOV、FLV、WMV 等。
      • 视频时长:Qwen2.5-VL系列模型支持的视频时长为2秒至10分钟,其他模型为2秒至40秒。
  • 使用示例

curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
   
   
    "model": "qwen-vl-max-latest",
    "messages": [
    {
   
   "role": "system", "content": [{
   
   "type": "text","text": "You are a helpful assistant."}]},
    {
   
   "role": "user","content": [{
   
   "type": "video_url","video_url": {
   
   "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241115/cqqkru/1.mp4"}},
    {
   
   "type": "text","text": "这段视频的内容是什么?"}]}]
}'
3.1.1 三方平台视频在线链接解析

    直接拿着三方平台视频链接,因三方平台官方安全策略,大模型无法识别,提示传入的视频文件无效。

// 请求信息
{
   
   
    "enable_thinking": false,
    "max_tokens": 4096,
    "messages": [
        {
   
   
            "content": [
                {
   
   
                    "type": "video_url",            
                    "video_url": {
   
   "url": "https://www.douyin.com/video/7359544025726143771"}
                },
                {
   
   
                    "type": "text","text": "请提取视频文案"
                }
            ],
            "role": "user"
        }
    ],
    "model": "qwen-vl-max",
    "stream": false,
    "temperature": 0.7
}
// 响应结果
{
   
   
    "error": {
   
   
        "code": "invalid_parameter_error",
        "param": null,
        "message": "<400> InternalError.Algo.InvalidParameter: Invalid video file.",
        "type": "invalid_request_error"
    },
    "id": "chatcmpl-94d36a39-3322-9fbd-9b8f-2dedc1850d21",
    "request_id": "94d36a39-3322-9fbd-9b8f-2dedc1850d21"
}
3.1.2 三方平台视频内网链接解析

    三方平台视频内网链接是通过三方平台视频详情接口 /aweme/v1/web/aweme/detail 获取的,如下所示,调用用法在下面音频识别模块会介绍。
    获取到三方平台视频内网链接,大模型无法识别,提示链接资源无法下载或下载超时。

// 请求信息
{
   
   
    "enable_thinking": false,
    "max_tokens": 4096,
    "messages": [
        {
   
   
            "content": [
                {
   
   
                    "type": "video_url",            
                    "video_url": {
   
   "url": "https://v3-web.douyinvod.com/bf9cca29836d3612cc035943bc6e220c/685a7e6e/video/tos/cn/tos-cn-ve-15/ocQjQeefGBgQLKqB3QIodOIZGCEEbNMAPm7anA/?a=6383&ch=26&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=5029&bt=5029&cs=0&ds=4&ft=AJkeU_TLRR0sTlC42Dv2Nc.xBiGNbLMY4jdU_45JCAxJNv7TGW&mime_type=video_mp4&qs=0&rc=NzM4OTVkaDc4N2gzZjtnOkBpanhuaW05cnhoMzMzNGkzM0BjL2IyLTViXi8xLV5hYWA0YSMzYHJvMmRzbTNhLS1kLS9zcw%3D%3D&btag=80000e00010000&cquery=100B_100x_100z_100o_100w&dy_q=1750750244&feature_id=59cb2766d89ae6284516c6a254e9fb61&l=20250624153044F89E8D93AC3D0D87B3C8"}
                },
                {
   
   
                    "type": "text","text": "请提取视频文案"
                }
            ],
            "role": "user"
        }
    ],
    "model": "qwen-vl-max",
    "stream": false,
    "temperature": 0.7
}
// 响应结果
{
   
   
    "error": {
   
   
        "code": "invalid_parameter_error",
        "param": null,
        "message": "<400> InternalError.Algo.InvalidParameter: Failed to download multimodal content",
        "type": "invalid_request_error"
    },
    "id": "chatcmpl-84b97fed-33ad-9d98-a40a-b893fb64c969",
    "request_id": "84b97fed-33ad-9d98-a40a-b893fb64c969"
}

具体错误信息如下:https://help.aliyun.com/zh/model-studio/error-code

  • 网络原因,请检查您的网络连接是否正常。
  • 该文件的URL为OSS的内网URL。由于OSS内网与阿里云百炼服务不互通,请勿使用OSS内网URL。
  • 提供的图片资源所在的IP地址不在中国内地。
  • 由于网络环境的差异,跨境资源访问可能会受到一定的限制或不稳定因素影响。建议您尽量使用中国内地的资源存储服务,以确保网络连接的稳定性和访问速度。
3.1.3 三方平台视频转存本地服务

    通过以上两种方式,看出三方平台视频链接因三方平台官方的安全策略,无法直接识别。
    可以下载视频到自己服务器上或者下载并转存到cos、oos云服务器上,获取到oss链接再交给大模型进行解析。
    此处就不再演示。

3.2 使用音频识别大模型能力

  • 思路
        获取视频的音频文件,把音频文件链接传给大模型,让大模型识别音频文案并输出。
        支持多种音频(包括说话人语音、自然声音、音乐、歌声)和文本作为输入,并输出文本。不仅能对输入的音频进行转录,还具备更深层次的语义理解、情感分析、音频事件检测、语音聊天等能力。

  • 以通义千问Audio模型为例

    • 文件形式
      • 在线音频链接要求:音频链接是公网访问且没有权限拦截的,文件是常见的音频文件格式。
      • 支持使用本地文件:通过SDK允许使用本地文件。需要传入本地音频的绝对路径。
    • 文件限制
      • 音频文件大小:建议不超过10 MB,超出也是可以解析的
      • 音频文件格式: AMR、WAV(CodecID: GSM_MS)、WAV(PCM)、3GP、3GPP、AAC、MP3等。
      • 音频时长:音频的时长建议不超过30秒,如果超过30秒,模型会自动截取前30秒的音频。实际上解析2min时长的音频也是可以的
      • 音频语言:中文、英语、粤语、法语、意大利语、西班牙语、德语和日语
  • 使用示例

curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
   
   
    "model": "qwen-audio-turbo-latest",
    "input":{
   
   
        "messages":[
            {
   
   
                "role": "system",
                "content": [
                    {
   
   "text": "You are a helpful assistant."}
                ]
            },
            {
   
   
                "role": "user",
                "content": [
                    {
   
   "audio": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"},
                    {
   
   "text": "这段音频在说什么?"}
                ]
            }
        ]
    }
}'
3.2.1 三方平台视频在线链接解析

在这里插入图片描述
    通过浏览器访问三方平台视频详情页链接,打开浏览器控制台,可以看到有一个视频详情接口 /aweme/v1/web/aweme/detail 的调用,返回了视频的明细,包括视频链接、音频链接、视频标题、视频标签、ocr识别文案、分享信息等。

    下面我找了一写关键信息贴出来。
    其中我们发现有ocr识别结果 aweme_detail.seo_info.ocr_content,但是文案质量不佳,封面或者视频背景中的特殊字符文案也会识别出来。
    说明走ocr识别方案可能也不是我们想要的视频文案结果。

{
   
   
    "aweme_detail": {
   
   
        "caption": "#重生文 #AIGC #错哪儿了 都重生了谁谈恋爱啊",
        "desc": 
posted @ 2025-06-26 08:57  niaonao  阅读(0)  评论(0)    收藏  举报  来源