当前位置: 首页 > 知识库问答 >
问题:

从RTSP流中没有录制音频

缪坚诚
2023-03-14

我正在尝试用HLS格式录制rtsp流。我需要同时录制音频和视频。使用下面的命令,可以录制一些流的视频和音频,比如来自Internet rtsp://wowzaec2demo.streamlock.net/vod/mp4:bigbuckbunny_115k.mov的测试rtsp流。至于我的IP相机,它不工作,意味着视频被录制,但没有音频输出文件

./ffmpeg -i rtsp://10.0.8.152:554/media/live/1/1 -acodec copy -vcodec copy -hls_list_size 65535 -hls_time 2 "./live.m3u8"

这是我的IP相机的命令行输出,同时开始录制上面的命令。

ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --enable-gpl --enable-libx264 --enable-libfreetype --enable-filter=drawtext --prefix=../build_Mar-20-2016
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Guessed Channel Layout for  Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://10.0.8.152:554/media/live/1/1':
  Metadata:
    title           : NVT
    comment         : From NVT
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: h264 (Baseline), yuvj420p(pc), 1280x720, 15 fps, 15 tbr, 90k tbn, 30 tbc
    Stream #0:1: Audio: pcm_alaw, 8000 Hz, 1 channels, s16, 64 kb/s
Output #0, hls, to './live.m3u8':
  Metadata:
    title           : NVT
    comment         : From NVT
    encoder         : Lavf57.25.100
    Stream #0:0: Video: h264, yuvj420p, 1280x720, q=2-31, 15 fps, 15 tbr, 90k tbn, 15 tbc
    Stream #0:1: Audio: pcm_alaw, 8000 Hz, mono, 64 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[hls @ 0x33de8c0] Non-monotonous DTS in output stream 0:0; previous: 35985, current: 6000; changing to 35986. This may result in incorrect timestamps in the output file.
[hls @ 0x33de8c0] Non-monotonous DTS in output stream 0:0; previous: 35986, current: 11998; changing to 35987. This may result in incorrect timestamps in the output file.
[hls @ 0x33de8c0] Non-monotonous DTS in output stream 0:0; previous: 35987, current: 14998; changing to 35988. This may result in incorrect timestamps in the output file.
[hls @ 0x33de8c0] Non-monotonous DTS in output stream 0:0; previous: 35988, current: 23991; changing to 35989. This may result in incorrect timestamps in the output file.
[hls @ 0x33de8c0] Non-monotonous DTS in output stream 0:0; previous: 35989, current: 29990; changing to 35990. This may result in incorrect timestamps in the output file.
[hls @ 0x33de8c0] Non-monotonous DTS in output stream 0:0; previous: 35990, current: 35987; changing to 35991. This may result in incorrect timestamps in the output file.
frame=  114 fps= 20 q=-1.0 Lsize=N/A time=00:00:07.59 bitrate=N/A speed=1.32x    
video:924kB audio:60kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Exiting normally, received signal 2.

共有1个答案

狄兴邦
2023-03-14

MPEG-TS流支持有限数量的音频编解码器,而PCM a-law似乎不是其中之一。

AAC被接受,可以使用如下:

ffmpeg -i rtsp://10.0.8.152:554/media/live/1/1 -c:a aac -c:v copy -hls_list_size 65535 -hls_time 2 "./live.m3u8"
 类似资料:
  • 问题内容: 我正在尝试建立一个程序来录制一部分互联网音频流,并将其保存到文件(最好是mp3或wav)。我到处都看过,找不到任何合适的方法来做到这一点。我找到了两个似乎可以工作的不同库(NativeBass和Xuggle),但我都不支持64位Windows。 有谁知道使用Java保存一部分互联网音频流的任何简单方法?(如果重要,则为“音频/ mpeg”流)。 编辑:好的,我发现了一种可行的方法。但是

  • 我需要录制音频(我相信使用函数)并将其从nodejs服务器传输到连接的客户端浏览器。我环顾了一些例子,没有什么太明确的内容,并且采用了不同的方法。 我不能使用webrtc。它必须使用服务器向客户端发送流。但是,我可以使用(我相信这是webrtc的一部分)来录制音频并将其发送到nodejs服务器)。 是否有任何资源或示例显示这样的工作方式?

  • 我正在使用AVPlayer播放HLS流。当用户按下录制按钮时,我还需要录制这些流。我使用的方法是分别录制音频和视频,然后在最后合并这些文件以制作最终视频。远程mp4文件是成功的。 但是现在对于HLS(.m3u8)文件,我可以使用AVAssetWriter录制视频,但音频录制有问题。 我正在使用MTAudioProccessingTap处理原始音频数据并将其写入文件。我遵循了这篇文章。我能够录制远程

  • 我需要将4个RTSP流记录到Kinesis视频流的单个流中。流必须像这样放置在视频中: 我可以使用下面的命令插入一个流并使其完美地工作: 然而,我的目标是在Kinesis视频流中的同一流中插入一组流。为此,我找到了的示例,如下所示: 我将该示例修改为两个流,并使用如下命令使其在容器中工作: 然而,当我登录到Kinesis视频流并尝试下载getClip时,在这两种情况下我都得到了这个错误: Miss

  • 录制完一个呼出的电话后,我试图播放录制的文件——以确保通话录音按预期工作(我使用“媒体播放器”进行),但没有声音。所以我试图访问手机上的实际文件(只需将手机连接到电脑上并访问它的文件)。当我播放录音时,它的长度是正确的,但同样没有声音。 我错过了什么? 这是我记录电话的方式: 这是结束通话记录的代码: 这是我播放音频文件的方式: