来自 rtsp ipcamera 的 FFmpeg 高效捕获

标签 ffmpeg synchronization rtsp cut capture

我需要从 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 ) 兼容。

关于来自 rtsp ipcamera 的 FFmpeg 高效捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63650194/

相关文章:

php - 使用 PHP 更改 ffmpeg 快照文件名

java - 同步适配器未运行

android - 无法在 Samsung Galaxy S2 的 VideoView 中播放 RTSP 视频

ubuntu - ffmpeg 配置错误 : libx264 not found

ffmpeg - 是否有某种 ffmpeg 输出转换为 ffmpeg 命令行?

java - 如何理解同步顺序是一个总顺序?

javascript - Angular 超过 https : websocket request not working

c# - IP Cam 到 Gtalk

php - 如何以编程方式检查 .mp4 文件是否未损坏且未丢失电影帧或音频片段

ios - Firebase 作为发票的分布式数据库同步引擎,断开连接?