我正在寻找正确的 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
这也取决于发送方式,应该以语音消息的形式发送,而不是常规文件。因此,您可以使用编码或机器人。
按着这些次序:
第一步,必须将音频文件转换为格式
Ogg Opus
。借助以下工具可以轻松实现ffmpeg
:ffmpeg -i test.m4a -c:a libopus test_libopus.ogg
音频文件必须作为语音消息发送,因此我使用了这个简单的
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]