我通过视频H264和音频G.726从IP摄像机(通过rtsp)接收实时流。我需要将流存储在文件中(最好是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 location = rtsp:... name = rtspsrc! rtph264depay! h264parse! matroskamux名称= mux! filesink location =“ test.mkv” rtspsrc。 ! rtpg726depay!多路复用器。
答案 0 :(得分:0)
FFmpeg可以将G726的LE变体混入两个仅包含音频的容器中,而无需计算原始转储。
星期日AU
ffmpeg -i rtsp:... -vcodec copy -an video.mp4 -acodec copy -vn audio.au
或
Apple IFF
ffmpeg -i rtsp:... -vcodec copy -an video.mp4 -acodec copy -vn audio.aiff