video - FFmpeg 命令为 mpg2、mss、lxf、3g2 视频文件添加文本水印
问题描述
我正在使用以下命令在视频文件上添加水印:
ffmpeg -i input.mpg2 -vf "drawtext=text='Hello World':x=(w-text_w)/2:y=(h-text_h)/2:fontsize=24:fontcolor=white" TextOutput.mpg2
mpg2 输入文件出错:
输入 #0,mpeg,来自“mpg2.mpg2”:
持续时间:00:02:27.07,开始:0.213367,比特率:4419 kb/s 流 #0:0[0x1e0]:视频:mpeg2video(主),yuv420p(tv , bt470bg/bt470m/bt4 70m, 底部优先), 704x480 [SAR 1:1 DAR 22:15], 29.97 fps, 29.97 tbr, 90k tbn,59.94 tbc 侧面数据:cpb:比特率最大/最小/平均:6000000/0 /0 缓冲区大小:1835008 vbv_delay:N/A 流#0:1 [0x1c0]:音频:mp2,44100 Hz,立体声,s16p,224 kb/s [NULL @ 000000bd67d2b3c0] 无法找到适合“输出”的输出格式.mp g2' Output.mpg2:参数无效
mss、lxf 和 3g2 视频文件也会出现类似错误。如何为这些视频文件格式添加水印?
解决方案
FFmpeg 不支持这些任意扩展/格式。相反,使用:
不支持 | 支持的等效项 |
---|---|
.mpg2 |
-c:v mpeg2video output.mpg |
.mss |
.wmv |
.lxf |
不支持(或使用.mpg ) |
.3g2 |
这是受支持的,但仅限于某些参数。见下文。 |
3G2
输出必须是:
- 具有 8000 Hz 采样率的单声道音频。(假设您想要 AMR 音频。)
- 以下音频比特率之一:4.75k、5.15k、5.90k、6.70k、7.40k、7.95k、10.20k、12.20k、12.20k(假设您需要 AMR 音频。)
- 以下视频尺寸之一:128x96、176x144、352x288、704x576 和 1408x1152。
如果失败,请查看错误消息。他们会告诉你哪里出了问题。
示例命令:
ffmpeg -i input.mp4 -ar 8000 -ac 1 -s 352x288 -b:a 10.2k output.3g2
推荐阅读
- c# - c#中的静态字段问题(错误CS0120)
- ghidra - 清除几个功能(带选项)
- javascript - 什么是“未捕获 RangeError:超出最大调用堆栈大小”
- c# - Azure Pipeline 在 dotnet 构建中失败,需要升级到最新的 .net 核心版本
- php - 如何从 WooCommerce 结帐中清除特定的计费字段值
- javascript - 带有 Puppeteer 的 Web Scraping Loop:“等待仅在异步函数中有效”
- python - Excel python openpyxl方法
- java - \u000b 和其他与 docx4j 不兼容的控制 Unicode 字符?
- c++ - 在动态内存区域中初始化 char 数组(在构造函数中)时出现问题
- typescript - webpack ts-loader 不排除文件