我正在尝试在 Ubuntu Linaro 上将 IP 摄像机流简单地录制到我的硬盘上。它工作得很好,持续了 4 秒钟,然后停止。没有错误,播放完美。它似乎是故意这样做的。但是我终生都看不到这个文件大小的设置。它在大约 280k 后停止。如果我降低流大小,它只会记录更长时间,但总是在文件大约为 280k 时停止。如果我使用 -fs 选项减小文件大小并可以强制它更小,但任何超过 280k 的值都会使文件保持在 280k。这是我的输出:
avconv -y -i 'rtsp://192.168.0.100:554/axis-media/media.amp?videocodec=h264&streamprofile=Quality' -benchmark -loglevel debug -c copy test.mpg
生产:
avconv 版本 0.8-4:0.8-1ubuntu1linaro1,版权所有 (c) 2000-2011 Libav 开发人员 于 2012 年 1 月 26 日 15:06:17 使用 gcc 4.6.1 构建 配置:--extra-version='4:0.8-1ubuntu1linaro1'--arch=arm--prefix=/usr--libdir=/usr/lib/arm-linux-gnueabi--enable-vdpau--enable-bzlib--enable-libgsm--enable-libschroedinger--enable-libspeex--enable-libtheora--enable-libvorbis--enable-pthreads--enable-zlib--enable-libvpx--enable-runtime-cpudetect--enable-libfreetype--extra-cflags='-marm -fPIC -DPIC'--enable-vaapi--enable-gpl--enable-postproc--enable-swscale--enable-x11grab--enable-libdc1394--shlibdir=/usr/lib/arm-linux-gnueabi/neon/vfp--extra-cflags='-mfpu=neon -fPIC -DPIC'--启用共享--禁用静态 libavutil 51. 21. 0 / 51. 21. 0 libavcodec 53. 34. 0 / 53. 34. 0 libavformat 53. 20. 0 / 53. 20. 0 libavdevice 53.2.0 / 53.2.0 libavfilter 2.15.0 / 2.15.0 libswscale 2. 1. 0 / 2. 1. 0 libpostproc 52. 0. 0 / 52. 0. 0 [rtsp @ 0x26aa0] SDP: v=0 o=-1343234035552520 1343234035552520 在 IP4 192.168.0.100 s=媒体演示 e=无 總數:50000 t=0 0 a =控制:rtsp://192.168.0.100:554/axis-media/media.amp?videocodec = h264&streamprofile = Quality a=范围:npt=0.000000- m=视频 0 RTP/AVP 96 c=输入 IP4 0.0.0.0 總數:50000 a=帧速率:30.0 a=变换:1,0,0;0,1,0;0,0,1 a =控制:rtsp://192.168.0.100:554/axis-media/media.amp/trackID=1?videocodec=h264&streamprofile=Quality 一个=rtpmap:96 H264/90000 a=fmtp:96 分组模式=1;配置文件级别 ID=420029;sprop 参数集=Z0IAKeKQCgDLYC3AQEBpB4kRUA==,aM48gA== [rtsp @ 0x26aa0] 视频编解码器设置为:h264 [NULL @ 0x2a800] RTP 打包模式:1 [NULL @ 0x2a800] RTP 配置文件 IDC:42 配置文件 IOP:0 级别:29 [NULL @ 0x2a800] Extradata 设置为 0x2ad80 (大小:29)!hello state=0 [h264 @ 0x2a800] 错误{或}_recognition 单独: 1; 1 [h264 @ 0x2a800] 错误{或}_recognition 合并:1;1 [h264 @ 0x2a800] 不支持的位深度:0 [rtsp @ 0x26aa0] 找到所有信息 [rtsp @ 0x26aa0] 根据比特率估算持续时间,这可能不准确 输入 #0,rtsp,来自‘rtsp://192.168.0.100:554/axis-media/media.amp?videocodec=h264&streamprofile=Quality’: 元数据: 标题:媒体介绍 时长:N/A,开始:0.039989,比特率:N/A 流 #0.0、22、1/90000:视频:h264(基线)、yuvj420p、1280x800 [PAR 1:1 DAR 8:5]、1/180000、90k tbr、90k tbn、180k tbc [mpeg @ 0x2fac0] VBV 缓冲区大小未设置,多路复用可能失败 输出 #0,mpeg,到‘test.mpg’: 元数据: 标题:媒体介绍 编码器:Lavf53.20.0 流 #0.0, 0, 1/90000:视频:[0][0][0][0] / 0x0000,yuvj420p,1280x800 [PAR 1:1 DAR 8:5],1/90000,q=2-31,90k tbn,90k tbc 流映射: 流 #0:0 -> #0:0 (复制) 按 ctrl-c 停止编码 已接收流 0 (1/1) 的 BYE = 208kB 时间 = 1.36 比特率 = 1252.6kbits/s 帧= 49 fps= 49 q=-1.0 Lsize= 286kB 时间=1.88 比特率=1245.9kbits/s 视频:283kB 音频:0kB 全局标头:0kB 多路复用开销 0.902341%
先感谢您。
答案1
尝试运行以下命令:
avconv -rtsp_transport tcp -i
这对我有用。