FFMPEG RTMP 流媒体到 FMS 不间断?

发布于 2025-01-07 05:39:08 字数 435 浏览 0 评论 0原文

我有一些 .mov 文件想要流式传输到 Flash 媒体服务器。我已经尝试在终端中通过 FFMPEG 命令流式传输单个 .mov,它可以工作,FMS 可以显示我实时流式传输的内容。

ffmpeg -re -i file1.mov -vcodec libx264 -f flv rtmp://localhost/livepkgr/livestream

现在我想流式传输多个文件, 我尝试一一使用上面的命令, 但当 file1 完成时,Flash 媒体服务器似乎停止了流式传输, 然后使用 file2 启动流。 它使流播放器在 file1 完成时停止,并且必须刷新页面才能继续处理 file2。

我在linux中通过C程序调用FFMPEG命令,我想知道有什么方法可以防止当我在FFMPEG中切换文件源时FMS停止吗?或者是否可以让 FFMPEG 不断地通过多个文件源传输流,而不会在文件完成时停止?

I have some .mov files want to stream to Flash media server. i have already tried to stream a single .mov by FFMPEG command in terminal and it works, the FMS can display the thing i streaming in live.

ffmpeg -re -i file1.mov -vcodec libx264 -f flv rtmp://localhost/livepkgr/livestream

Now i want to stream multiple files,
i tried to use above command one by one,
but it seems Flash media server stop the streaming when file1 is finished,
then start the stream with file2.
It makes the stream player stopped when file1 is finish, and have to refresh the page in order to continue on file2.

i am calling the FFMPEG command by a C program in linux, i wonder is there any method that i can prevent the FMS stopped when i switch the file source in FFMPEG? or is that possible to let FFMPEG constantly deliver the stream by multiple files source without stopped when a file finish?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

递刀给你 2025-01-14 05:39:09

将源文件重新格式化为 TS 或 MPEG 或其他“可连接”文件。然后你可以使用 ffmpeg 的 concat 协议或自己“cat”。

Reformat your source file to a TS or MPEG or other "concatable" file. Then you can either use ffmpeg's concat protocol or just "cat" by yourself.

两仪 2025-01-14 05:39:09

我发现这样的东西对你很有用:

我设法通过为每个视频使用一个管道(例如 vid1.mp4 -> pipeline1、vid2.mp4 -> pipeline2 等)来流式传输视频的静态播放列表。然后我以这种方式写入一个名为管道“stream”的单个流 cat pipeline1 pipe2 pipe3 >流,我使用流管道作为 FFMPEG 中的输入来发布我的流

I found something like this it will be useful for you :

I managed to stream a static playlist of videos by using for each video a pipe (ex vid1.mp4 -> pipe1, vid2.mp4 -> pipe2 etc). Then i write into a single stream named pipe "stream" this way cat pipe1 pipe2 pipe3 > stream, and i use the stream pipe as input in FFMPEG to publish my stream

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文