基于ollama运行27b gemma3解决ffmpeg命令生成问题

google开源的LLM模型gemma3,提供了1B、4B、12B、27B多个版本,特别是27B版本,被认为除Deepseek R1外最好的开源模型。

这里尝试运行ollama 27B,并解决ffmpeg命令生成问题。

1 gemma3下载

1.1 ollama环境

ollama下载gemma3的27b模型,为简化操作,这里采用docker版本的ollama。

假设docker已经安装,linux安装docker参考

https://blog.csdn.net/liliang199/article/details/150067330

参考 https://hub.docker.com/r/ollama/ollama,docker启动ollama

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

bash进入ollama docker容器,提供在容器中操作ollama的bash界面

docker exec -it ollama bash

1.2 gemma3下载

以下是ollama下载指令

ollama pull gemma3:27b

ollama run gemma3:27b-it-qat

中断再重新开始下载时,可能遇到"net/http: TLS handshake timeout"问题,解决方案参考附录。

https://ollama.com/library/gemma3

2 gemma3测试

2.1 prompt

这里尝试让gemma3生成ffmpeg转化视频格式的命令,即给定目标视频编码参数情况下,让gemma3生成ffmpeg视频转化命令。

prompt示例如下

ffmpeg转化为如下质量的视频命令

... ---

... Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 463 kb/s, 25 fps, 25 tbr, 90k tbn (default)

2.2 gemma3测试

为简化分析,这个采用ollama run的方式运行gemma3:27b,命令如下

ollama run gemma3:27b

ollama模型启动后,输入上述prompt,输出示例如下。

可见,gemma3:27b生成了ffmpeg命令,而且该ffmpeg命令可以正确运行。

Okay, let's break down that stream information and build an FFmpeg command to achieve similar quality. Here's the command, followed by an explanation:

```bash

ffmpeg -i input.mp4 -c:v libx264 -profile:v high -level 4.0 -crf 23 -preset medium -c:a aac -b:a 128k -r 25 output.mp4

```

**Explanation of the Command & Options:**

* **`ffmpeg -i input.mp4`**: This specifies the input video file. Replace `input.mp4` with the actual name of your video file.

* **`-c:v libx264`**: This sets the video codec to `libx264`, which is a very popular and efficient H.264 encoder.

* **`-profile:v high`**: This sets the H.264 profile to "high." The provided stream data indicates a High profile. This is crucial for compatibility with many devices

and players.

* **`-level 4.0`**: This sets the H.264 level to 4.0. This defines the maximum bitrate, resolution, and other parameters. Level 4.0 is appropriate for 1080p video.

* **`-crf 23`**: This is the Constant Rate Factor (CRF) setting. It's a quality-based VBR (Variable Bitrate) encoding method. Lower values mean higher quality (and

larger file sizes). 23 is a good starting point. You can experiment with values between 18-28. A good range:

* 18

2.3 deepseek测试

以下是deepseek使用相同的prompt生成的ffmpeg命令。

可见gemma3:27b生成的ffmpeg命令,已经很接近deepseek生成的效果了。

根据您提供的视频流信息,这里有几个FFmpeg命令可以实现类似的视频质量:

基本命令(保持相同参数)

```bash

保持相同编码参数

ffmpeg -i input.mp4 -c:v libx264 -profile:v high -pix_fmt yuv420p -s 1920x1080 -r 25 -b:v 463k output.mp4

```

推荐命令(优化版本)

```bash

使用CRF控制质量,更推荐的方式

ffmpeg -i input.mp4 -c:v libx264 -profile:v high -pix_fmt yuv420p -vf "scale=1920:1080" -r 25 -crf 23 -preset medium output.mp4

```

详细参数说明

```bash

ffmpeg -i input.mp4 \

-c:v libx264 \ # 视频编码器

-profile:v high \ # H.264档次

-pix_fmt yuv420p \ # 像素格式

-s 1920x1080 \ # 分辨率

-r 25 \ # 帧率

-b:v 463k \ # 视频码率

-preset medium \ # 编码速度与压缩率平衡

-movflags +faststart \ # 优化网络播放

output.mp4

```

其他选项

```bash

如果需要保持原始比例并添加黑边

ffmpeg -i input.mp4 -c:v libx264 -profile:v high -pix_fmt yuv420p -vf "scale=1920:1080:force_original_aspect_ratio=decrease:flags=lanczos,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" -r 25 -crf 23 output.mp4

如果需要处理音频

ffmpeg -i input.mp4 -c:v libx264 -profile:v high -pix_fmt yuv420p -s 1920x1080 -r 25 -b:v 463k -c:a aac -b:a 128k output.mp4

```

参数说明:

  • `-crf 23`: 恒定质量模式(18-28之间,值越小质量越高)

  • `-preset`: 编码速度预设(ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow)

  • `-movflags +faststart`: 将元数据移到文件开头,便于网络流媒体播放

推荐使用CRF方式,因为它能根据内容复杂度自动调整码率,在保持质量的同时获得更好的压缩效果。

附件

ollama pull 中断再重新开始下载时,可能多次遇到如下报错

net/http: TLS handshake timeout

可能之前启动的ollama pull gemma3:27b还在运行,检测到重复握手请求,抛弃当前pull TLS handshake导致

方案:

ps aux | grep ollama,找到对应的ollama pull进程kill掉。

需要注意区分ollama serve,这是ollama服务进程。

reference


ollama gemma3

https://ollama.com/library/gemma3

Gemma 3 27B

https://deepranking.ai/llm-models/gemma-3-27b

mac基于mlx运行轻量级模型gemma-3-270m

https://blog.csdn.net/liliang199/article/details/152228535

相关推荐
渡我白衣32 分钟前
多路转接之epoll:理论篇
人工智能·神经网络·网络协议·tcp/ip·自然语言处理·信息与通信·tcpdump
明月照山海-33 分钟前
机器学习周报二十八
人工智能·机器学习
weixin_437497777 小时前
读书笔记:Context Engineering 2.0 (上)
人工智能·nlp
喝拿铁写前端7 小时前
前端开发者使用 AI 的能力层级——从表面使用到工程化能力的真正分水岭
前端·人工智能·程序员
goodfat7 小时前
Win11如何关闭自动更新 Win11暂停系统更新的设置方法【教程】
人工智能·禁止windows更新·win11优化工具
北京领雁科技7 小时前
领雁科技反洗钱案例白皮书暨人工智能在反洗钱系统中的深度应用
人工智能·科技·安全
落叶,听雪7 小时前
河南建站系统哪个好
大数据·人工智能·python
清月电子7 小时前
杰理AC109N系列AC1082 AC1074 AC1090 芯片停产替代及资料说明
人工智能·单片机·嵌入式硬件·物联网
Dev7z7 小时前
非线性MPC在自动驾驶路径跟踪与避障控制中的应用及Matlab实现
人工智能·matlab·自动驾驶
七月shi人7 小时前
AI浪潮下,前端路在何方
前端·人工智能·ai编程