gpt4 book ai didi

ffmpeg - 使用单个 ffmpeg 实例将多个 RTSP 流转码为 HLS - 不起作用

转载 作者:行者123 更新时间:2023-12-04 23:15:10 25 4
gpt4 key购买 nike

我正在尝试使用 ffmpeg 的单个实例将多个 RTSP 流转换为 HLS。我使用的命令是这样的:(我把它分成多行,这样更容易阅读)

我面临的问题是,当我查看生成的 ts 文件时,ffmpeg 正在将相同的视频流(url1)写入目录 m1 和 m2。我究竟做错了什么? url1 和 url2 都有效。如果我将命令分解为两个不同的 ffmpeg处理它工作得很好。

谢谢。

 /usr/local/bin/ffmpeg -i rtsp://url1 -fflags flush_packets 
-max_delay 2 -flags -global_header -hls_time 2 -hls_list_size 3
-hls_segment_filename m1/video%03d.ts -hls_flags delete_segments
-vcodec copy -y m1/video1.m3u8
-i rtsp://url2 -fflags flush_packets
-max_delay 2 -flags -global_header -hls_time 2 -hls_list_size 3
-hls_segment_filename m2/video%03d.ts -hls_flags delete_segments
-vcodec copy -y m2/video2.m3u8

最佳答案

ffmpeg 需要以下形式的语法

ffmpeg -i input1 -i input2 ... -i inputn output1 output2 ... outputn

-map选项设置以指示输入到输出的路由。

所以,
 -i rtsp://url1 -i rtsp://url2
-map 0 -fflags flush_packets -max_delay 2 -flags -global_header
-hls_time 2 -hls_list_size 3 -hls_segment_filename m1/video%03d.ts
-hls_flags delete_segments -vcodec copy -y m1/video1.m3u8
-map 1 -fflags flush_packets -max_delay 2 -flags -global_header
-hls_time 2 -hls_list_size 3 -hls_segment_filename m2/video%03d.ts
-hls_flags delete_segments -vcodec copy -y m2/video1.m3u8

关于ffmpeg - 使用单个 ffmpeg 实例将多个 RTSP 流转码为 HLS - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47250795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com