ffmpeg - 如何将任何媒体文件转换为电报 opus 音频注释?

ffmpeg - 如何将任何媒体文件转换为电报 opus 音频注释?

我正在寻找正确的 ffmpeg 命令行,以便与 ffmpeg 一起使用,将任何声音文件(任何格式)转换为单声道 Opus OGG 音频文件,以便与 Telegram 一起使用将其作为语音发送。

这是来自 Android 应用程序的电报音频笔记的 MediaInfo:

Format                      : Ogg
File size                   : 5.59 KiB
Duration                    : 2 s 435 ms
Overall bit rate            : 18.8 kb/s

Audio
ID                          : 1901789286 (0x715B0066)
Format                      : Opus
Duration                    : 2 s 435 ms
Channel(s)                  : 1 channel
Channel positions           : Front: C
Sampling rate               : 16.0 kHz
Compression mode            : Lossy
Writing library             : libopus unknown-fixed

这是另一个的 MediaInfo,但记录在 Windows 上的 Telegram Desktop 应用程序上:

Format                      : Ogg
File size                   : 26.8 KiB
Duration                    : 4 s 547 ms
Overall bit rate            : 48.4 kb/s
Writing application         : Lavf57.41.100

Audio
ID                          : 1739243463 (0x67AABFC7)
Format                      : Opus
Duration                    : 4 s 547 ms
Channel(s)                  : 1 channel
Channel positions           : Front: C
Sampling rate               : 48.0 kHz
Compression mode            : Lossy
Writing library             : Lavf57.41.100

我想将其放入一个maketelegramnote.cmd批次中以方便使用。

答案1

这也取决于发送方式,应该以语音消息的形式发送,而不是常规文件。因此,您可以使用编码或机器人。

按着这些次序:

  1. 第一步,必须将音频文件转换为格式Ogg Opus。借助以下工具可以轻松实现ffmpeg

    ffmpeg -i test.m4a -c:a libopus test_libopus.ogg

  2. 音频文件必须作为语音消息发送,因此我使用了这个简单的Python脚本: https://github.com/Fomchenkov/converter-voice-telegram-bot

我认为我不需要解释如何创建机器人并将其插入TOKEN文件中。最后,将文件发送给您的机器人,以语音消息的形式接收等效内容。

正如您在图片中看到的: 在此处输入图片描述

答案2

尝试安装 curl 然后您可以使用以下命令:

ffmpeg -i test.<ext.> -c:a libopus test.ogg
curl -s https://api.telegram.org/bot<botToken>/sendvoice -F chat_id=<chatId> -F [email protected]

相关内容