Запись аудиопотока RTSP G.726 без транскодирования - PullRequest
0 голосов
/ 17 декабря 2018

Я получаю прямой эфир с ip-камеры (через rtsp) с видео H264 и аудио G.726.Мне нужно хранить поток в файле (желательно mp4) без транскодирования.Видео записывается, но кажется, что ffmpeg не может записать G.726, ни в mp4 ни в другие контейнеры, которые я пробовал, такие как avi, mkv, ogg и т. Д.

ffmpeg -i rtsp :... -vcodec copy -acodec copy test.mp4

Вот информация о аудиопотоке:

Поток # 0: 1: Аудио: adpcm_g726le, 8000 Гц, моно,s16, 16 кбит / с

Ошибка:

Не удалось найти тег для кодека adpcm_g726le в потоке # 0, кодек в настоящее время не поддерживается в контейнере

Также я попробовал live555 и GStreamer, но безрезультатно с аудиопотоком.

Есть ли возможность записи G.726 без транскодирования?Если есть какая-либо библиотека C / C ++, которая может сделать это, укажите мне, пожалуйста.

Обновление .Решение с Gstreamer для mkv:

gst-launch-1.0 -e rtspsrc location = rtsp: ... name = rtspsrc!rtph264depay!h264parse!имя matroskamux = mux!filesink location = "test.mkv" rtspsrc.!rtpg726depay!mux.

1 Ответ

0 голосов
/ 17 декабря 2018

FFmpeg может объединить вариант LE G726 в два аудио-контейнера, не считая необработанный дамп.

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