You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telegram Bot sendVideo方法预览宽高比异常问题求助

解决Telegram Bot sendVideo预览宽高比错误及参数不生效问题
  • 检查并修正视频文件的原生元数据
    Telegram生成预览时会优先读取视频文件自身的宽高比元数据,手动传入的width/height参数可能被忽略。先通过工具确认视频元数据是否正确:
# 用ffprobe查看视频宽高
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 your_video.mp4

如果元数据中的宽高比错误,用ffmpeg修正:

# 修正为16:9比例(示例)
ffmpeg -i your_video.mp4 -c:v libx264 -crf 23 -vf "scale=1920:1080" -c:a copy corrected_video.mp4

重新发送修正后的视频,Telegram应该能识别正确的宽高比。

  • 改用本地文件上传而非URL发送
    通过URL发送视频时,Telegram的参数解析逻辑可能会忽略手动指定的width/height。换成直接上传本地文件,同时传入参数,更容易让Telegram遵循你设置的宽高:
    以Python的python-telegram-bot库为例:
from telegram import Bot

bot = Bot(token="YOUR_BOT_TOKEN")
# 上传本地文件并指定宽高
bot.send_video(
    chat_id="TARGET_CHAT_ID",
    video=open("corrected_video.mp4", "rb"),
    width=1920,
    height=1080
)
  • 手动生成并指定自定义缩略图
    如果前两种方法无效,直接生成符合目标宽高比的缩略图,通过thumb参数传给sendVideo,强制使用你指定的预览图:
    先用ffmpeg生成缩略图:
# 从视频第1秒截取一帧,缩放到320x180(16:9比例)
ffmpeg -i your_video.mp4 -ss 00:00:01.0 -vframes 1 -vf "scale=320:180" custom_thumb.jpg

调用API时带上缩略图参数:

bot.send_video(
    chat_id="TARGET_CHAT_ID",
    video="https://your-video-url.mp4",
    width=1920,
    height=1080,
    thumb=open("custom_thumb.jpg", "rb")
)

内容的提问来源于stack exchange,提问作者Valery Kozlov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 00:01:41