2016-03-22 2 views
1

Я пытаюсь записать поток rtsp в формате HLS. Мне нужно записывать как аудио, так и видео. Используя нижеприведенную команду, видео и аудио записываются для некоторого потока, как тестовый поток rtsp из Интернета rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov. Что касается IP-камеры, это не работает, значит, видеозапись записывается, но нет звука в выходном файле.FFMPEG не записывается звук из потока RTSP

./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

A-закон не по всей видимости, поддерживается в '.ts' файлов. Попробуйте '-acodec pcm_s16le' – Mulvya

+0

Спасибо за комментарий, поэтому я не могу записать видеофайл в формате HLS с кодеком pcm_s16le, и я могу записать видео в формате avi с помощью acodec copy' ./ffmpeg -i rtsp://10.0.7.122:554/media/live/1/2 -acodec pcm_s16le -vcodec copy "./out.avi" '. Но моим окончательным требованием является файл записи .ts format – Haris

+0

Затем используйте '-c: a aac' – Mulvya

ответ

2

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" 
Смежные вопросы