一、ffmpeg 将rtsp流分段存储为MP4文件
ffmpeg -i rtsp://stream -c:v copy -f segment -segment_time 3600 -reset_timestamps 1 -strftime 1 output_%Y-%m-%d_%H-%M-%S.mp4
参数详情:
-i rtsp://example.com/stream
:输入的rtsp流地址
-c:v copy
:只复制视频编码,不进行重新编码
-an
:禁止音频输出(需要的可以加上)
-f segment
:以分段的方式输出文件
-segment_time 3600
:每个分段的时间间隔(单位秒)
-reset_timestamps 1
:重置时间戳
-strftime 1
:使用日期时间格式化输出文件名
output_%Y-%m-%d_%H-%M-%S.mp4
:输出文件名,使用日期时间格式化
二、ffmpeg断线重连参数
1. -reconnect:设置是否开启断线重连功能。可以设置为1或者0,1表示开启,0表示关闭。默认值为0,即关闭断线重连功能。
2. -teconnect_at_eof:设置是否在文件结束时进行断线重连,可以设置为1或者0,1表示在文件结束时进行断线重连,0表示不进行断线重连。默认值为0。
3. -reconnect_streamed:设置是否在流媒体传输时进行断线重连,可以设置为1或者0,1表示在流媒体传输时进行断线重连,0表示不进行断线重连。默认值为0。
4. -reconnect_delay_max:设置断线重连的最大延迟时间。可以设置一个整数值,表示最大延迟的秒数。默认值为0,即没有最大延迟时间限制。
通过设置这些断线重连参数,可以在网络连接中断后自动重新建立连接,并继续传输数据,从而实现断线重连的功能
例如,可以使用以下命令来开启断线重连功能
ffmpeg -reconnect 1 -reconnect_at_eof 1 -reconnect_streamed 1 -reconnect_delay_max 5 -i input.mp4 output.mp4
上述命令中,-reconnect 1表示开启断线重连功能,-reconnect_at_eof 1表示在文件结束时进行断线重连reconnect_streamed 1表示在流媒体传输时进行断线重连,-reconnect_delay_max 5表示设置最大延迟时间为5秒。
通过设置这些参数,当网络连接中断后,ffmpeg会自动重新建立连接,并继续传输数据,从而保证连续性和稳定性。
三、ffmpeg相关命令(持续更新)
ffmpeg裁剪音频:ffmpeg -i input.mp3 -ss 00:00:10 -t 00:00:30 -acodec copy output.mp3