对于我所有的 IP 摄像机流,我在 Linux 下通过 bash 脚本使用 ffmpeg,它允许我同时管理:
1/将 RTSP 流转换为“Live”的 HTTP (HLS),因此生成“m3u8”文件和 *.ts 段
2/备份流进行归档(以 5 分钟为增量),cron 删除旧文件(xx 天)
ffmpeg -i "rtsp://[IP_CAM01]" -rtsp_transport tcp -c copy -map 0 -f segment -segment_time 300 -segment_atclocktime 1 -segment_format mkv "cam01-% 03d.mkv" -c copy -f segment -segment_list cam01.m3u8 -segment_list_flags + live -segment_time 2 -segment_list_size 20 -segment_wrap 20 cam01-% 03d.ts
我问自己的问题,这个消息的原因如下:我呼吁您的反馈,您的意见,您的提示!如果您有线索(示例)来攻击这种开发,我很感兴趣。
非常感谢您的反馈。
(这是我关于stackoverflow的第一个问题,香槟!;))
最佳答案
would there be an interest (memory / cpu / speed) to develop a program (C/C++/other?) to do the same thing by using the libraries of ffmpeg? or the "gain" and the interest would be so minimal that it is not worth the expenditure of energy and time?
几乎可以肯定不是。
我经常直接使用 libav* 库编写工具和实用程序。但几乎从来没有,因为我认为我可以比 ffmpeg 做得更好。这通常是因为我有一件非常具体的事情需要完成,而开发过滤器会更加困难。或者,例如,更改如何恢复错误的行为,或更改媒体打包方式的具体细节。
如果 ffmpeg 的工作方式与您的用例完全一样,那么替换它并不是一个好主意。
关于c++ - FFmpeg:做一个应用程序比直接使用ffmepg更好吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62898156/