#ffmpeg #gstreamer
#ffmpeg #gstreamer
Вопрос:
В настоящее время у меня есть поток протокола RTP в кодеке OPUS, который воспроизводится локально на rtp: // 127.0.0.1:5006
Я хотел бы преобразовать этот поток в протокол HLS с кодеком AAC (или другими, если проще), чтобы он был более доступен для устройств только с браузером.
Я знаю, что ffmpeg и gstreamer способны на это, но я просто потерялся среди различных аргументов / параметров.
В настоящее время у меня есть SDP-файл, который описывает мой поток (не уверен, правильно ли это, я написал его после простого поиска / чтения спецификации)
v=0
t=0 0
m=audio 5006 RTP/AVP 98
c=IN IP4 127.0.0.1
a=recvonly
a=rtpmap:98 opus/48000/2
a=fmtp:98 stereo=0; sprop-stereo=0; useinbandfec=1c
Есть идеи?
Ответ №1:
Я смог заставить это работать, используя приведенную ниже команду. Файл SDP, похоже, также работал без проблем.
ffmpeg -protocol_whitelist file,udp,rtp -i input.sdp -c:a aac -b:a 128k -ac 2 -f hls -hls_time 4 -hls_playlist_type event outputstream.m3u8
Если у кого-то еще были проблемы с пониманием аргументов, как у меня, просто найдите время для поиска аргументов в https://ffmpeg.org/ffmpeg.html и понять их. Тогда все становится намного проще.