FFmpeg从rtsp ipcamera高效捕获

问题描述

我需要从ipcamera捕获文件中未压缩的音频/视频rtsp流。音频(pcm_alaw)和视频(h264)必须同步。如果相机暂时失去连接(mp4),则文件必须没有损坏。

此刻我使用下面的命令,但是ts编解码器不支持pcm_alaw,因此无法听到音频:

ffmpeg -stimeout 2000000 -rtsp_transport tcp -i rtsp://admin:1234@192.168.5.22/h264 -c:v copy -c:a copy -f mpegts -y main.ts

我使用mpegts编解码器是因为我需要使用以下命令实时检查捕获的持续时间:

ffprobe -i /home/pi/NAS/main.mov -show_entries format=duration -v quiet -of csv="p=0"

如果我使用mkv或avi,其输出将是:

N/A

持续时间的验证很重要,因为我捕获了大约3个小时的文件,并且在捕获过程中我选择执行一些数据。我不想压缩音频,因为在剪切时我经常注意到与视频有些异步。

谢谢。

解决方法

在保存音频流之前,您可以使用-c:a copy-c:a aac代替-c:a mp3来转换音频流。

MPEG-TS h264仅与mp3或aac(source)兼容。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...