RTMP 代理裁剪原始视频并将其发送到另一个 RTMP 服务器
RTMP proxy to crop original video and send it to another RTMP server
我需要从 RTMP 流中裁剪视频并将其发送到另一个经常变化的 RTMP 服务器。我的理解是我应该使用 nginx-proxy
和 ffmpeg
,谁能帮我设置一下?
我想我需要将流发送到端点,例如 /stream/:stream-key/:next-server-ip
使用 ffmpeg 处理流,然后将其发送到 :next-server-ip,我应该在后端使用什么语言这个?
处理此类任务有2种策略:
- “拉”
您有一些已发布的 rtmp 流并使用 ffmpeg 将其拉取、转换并将结果发送到另一台服务器:
ffmpeg -i rtmp://source-server/stream -filter:v "crop=out_w:out_h:x:y" -vcodec h264 -acodec copy -f flv rtmp://next-server/stream
- “推”
RTMP 流被推送到您的服务器,该服务器处理它并将结果发送到另一台服务器。对于这样的任务,您可以使用 nginx-rtmp module for nginx and setup ffmpeg command using exec_push 指令:
application src {
live on;
exec_push ffmpeg -i rtmp://localhost/src/$name -filter:v "crop=out_w:out_h:x:y" -vcodec h264 -acodec copy -f flv rtmp://next-server/stream 2>>/var/log/ffmpeg-$name.log;
}
当有人开始流向 rtmp://your-server/src/stream_name
时,将执行此 ffmpeg
命令并开始处理
有关视频裁剪和相关 ffmpeg
参数的更多信息,请参阅 https://video.stackexchange.com/a/4571
我需要从 RTMP 流中裁剪视频并将其发送到另一个经常变化的 RTMP 服务器。我的理解是我应该使用 nginx-proxy
和 ffmpeg
,谁能帮我设置一下?
我想我需要将流发送到端点,例如 /stream/:stream-key/:next-server-ip
使用 ffmpeg 处理流,然后将其发送到 :next-server-ip,我应该在后端使用什么语言这个?
处理此类任务有2种策略:
- “拉”
您有一些已发布的 rtmp 流并使用 ffmpeg 将其拉取、转换并将结果发送到另一台服务器:
ffmpeg -i rtmp://source-server/stream -filter:v "crop=out_w:out_h:x:y" -vcodec h264 -acodec copy -f flv rtmp://next-server/stream
- “推”
RTMP 流被推送到您的服务器,该服务器处理它并将结果发送到另一台服务器。对于这样的任务,您可以使用 nginx-rtmp module for nginx and setup ffmpeg command using exec_push 指令:
application src {
live on;
exec_push ffmpeg -i rtmp://localhost/src/$name -filter:v "crop=out_w:out_h:x:y" -vcodec h264 -acodec copy -f flv rtmp://next-server/stream 2>>/var/log/ffmpeg-$name.log;
}
当有人开始流向 rtmp://your-server/src/stream_name
时,将执行此 ffmpeg
命令并开始处理
有关视频裁剪和相关 ffmpeg
参数的更多信息,请参阅 https://video.stackexchange.com/a/4571