audio - 使用 FFmpeg 进行点对点流传输的问题

标签 audio video ffmpeg streaming rtp

我想将网络摄像头的视频和麦克风的声音从一台计算机直播到另一台计算机,但存在一些问题。

当我使用此命令行时:

ffmpeg.exe -f dshow -rtbufsize 500M -i video="Camera":audio="Microphone" -c:v mpeg4 -c:a mp2 -f mpegts udp://127.0.0.1:1234

FFmpeg 控制台开始填充黄色消息并且流变得不稳定:http://s16.postimg.org/qglcgr345/Untitled.png

为了解决这个问题,我在命令行中添加了新参数来设置帧速率 -r 25:

ffmpeg.exe -f dshow -rtbufsize 500M -r 25 -i video="Camera":audio="Microphone" -c:v mpeg4 -c:a mp2 -f mpegts udp://127.0.0.1:1234

添加 -r 25 后,黄色消息的问题消失,但随后出现另一个问题。当我使用此命令行重新启动 FFmpeg 时,视频和声音看起来同步,但在一两分钟后,视频和声音之间出现约 25 秒的滞后,声音落后于视频。我尝试过使用不同的协议(protocol)UDP、TCP、RTP,但问题是相同的。请帮助我!

最佳答案

我找到了“-r”和异步音频和视频问题的答案。谁有兴趣答案在这里:https://trac.ffmpeg.org/wiki/DirectShow (在“指定输入帧速率”段落中)。

关于audio - 使用 FFmpeg 进行点对点流传输的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28420571/

相关文章:

python - 以编程方式创建旋律

javascript - 音乐播放器仅从一个文件夹播放

Android::VideoView 在 ScrollView 中

FFmpeg PNG覆盖在背景图像上的视频

ffmpeg - 我不能通过 ffmpeg 使用 QSV 的硬件编码器

comparison - 如何比较单词的发音?

c# - 当前者由Microphone创建时,如何使用PCMReaderCallback从AudioClip读取数据。在Unity中启动?

android - 如何在 Android 上使用 FFMPEG API 以 30 fps 提取帧?

ios - 应用程序在 swift 中为所有视频 PHAsset 播放相同的视频

ffmpeg -ss 和 -to 命令通过 API 调用进行编码