【发布时间】:2018-12-17 14:16:53
【问题描述】:
我从 ip 摄像头(通过 rtsp)接收带有视频 H264 和音频 G.726 的实时流。我需要将流存储在文件中(最好是 mp4)而不进行转码。视频已录制,但似乎 ffmpeg 无法将 G.726 或 mp4 写入我尝试过的其他容器,如 avi、mkv、ogg 等。
ffmpeg -i rtsp:... -vcodec 复制 -acodec 复制 test.mp4
这是音频流信息:
流 #0:1:音频:adpcm_g726le,8000 Hz,单声道,s16,16 kb/s
错误:
在流 #0 中找不到编解码器 adpcm_g726le 的标记,编解码器没有 目前在容器中支持
我也试过 live555 和 GStreamer,但音频流没有成功。
是否有可能在不转码的情况下录制 G.726?如果有任何 C/C++ 库可以做到这一点,请指点我。
更新。使用 Gstreamer for mkv 的解决方案:
gst-launch-1.0 -e rtspsrc 位置=rtsp:...名称=rtspsrc ! rtph264depay! h264解析! matroskamux 名称=多路复用器!文件接收器位置="test.mkv" rtspsrc。 ! rtpg726depay !多路复用器。
【问题讨论】:
标签: c++ ffmpeg gstreamer rtsp live555