ffmpeg - 如何用FFMPEG分块记录UDP流?

标签 ffmpeg udp video-recording

我正在寻找一种使用 ffmpeg 记录视频 UDP 流的方法,但以 1000 万 block 的形式记录。 我目前使用以下方法获取 1000 万个视频(使用 h264 转码)。

“ffmpeg -i udp://239.0.77.15:5000 -map 0:0 -map 0:1 -s 640x360 -vcodec libx264 -g 100 -vb 500000 -r 25 -strict 实验 -vf yadif -acodec aac -ab 96000 -ac 2 -t 600 -y/media/test.m4“

我的问题是使用命令行 ffmpeg 需要时间与 udp 流重新同步,每次都会丢失 2 秒的视频。正常吗?

知道是否有办法在命令行中执行此操作,或者我应该尝试使用 ffmpeg API 吗?

提前致谢

最佳答案

好的找到了。

最近ffmpeg添加了一个分段器,语法如下:

-f分段:告诉ffmpeg使用分段器

-segment_time: block 大小(以秒为单位)

您可以使用自动增量文件名,例如 %03d (000,001,002,003...)。

这是我将 UDP MPEGTS 流转码为 H264+AAC 并将其保存到文件 block 的代码(60 秒):

ffmpeg -i udp://239.0.77.15:5000 -map 0:0 -map 0:1 -s 640x360 -vcodec libx264 -g 60 -vb 500000 -strict experimental -vf yadif -acodec aac -ab 96000 -ac 2 -y -f segment -segment_time 60 "xxx-%03d.ts"

关于ffmpeg - 如何用FFMPEG分块记录UDP流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10588001/

相关文章:

android - 在 android 中实现像 vine 一样的视频录制?

ffmpeg http 比先下载慢

udp - 多播数据包丢失-运行同一应用程序的两个实例

android-camera - 如何让前置摄像头拍摄的视频不反安卓?

tcp - 高频交易 - TCP > UDP?

c++ - Windows 中的多播响应未到达套接字

python - 跨平台视频录制解决方案

ffmpeg - 如何在 Vitamio 5.0 中使用 librtmp 为 android 编译 ffmpeg?

ffmpeg 不通过 udp 发送数据

FFMpeg - 添加 enable=between 参数时不显示覆盖