【音视频】调试组播之环境搭建
廢話不多講,直接上干貨。
調(diào)試組播rtp:協(xié)議頭,windows本地環(huán)境搭建有兩個(gè)方案:
1.ffmpeg推送rtp流
(1)安裝ffmpeg
下載地址:https://ffmpeg.org/
下載windows builds到本地,修改環(huán)境變量指向*/ffmpeg/bin,打開(kāi)cmd,輸出“ffmpeg -version”,查看fffmpeg是否安裝成功。
ffmpeg version N-100976-g5c8d4c4fac Copyright ? 2000-2021 the FFmpeg
developers built with gcc 9.3-win32 (GCC) 20200320 configuration:
–prefix=/ffbuild/prefix --pkg-config-flags=–static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-opencl --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 64.100 / 56. 64.100 libavcodec 58.120.100 / 58.120.100 libavformat 58.
66.100 / 58. 66.100 libavdevice 58. 11.103 / 58. 11.103 libavfilter 7.102.100 / 7.102.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55.
8.100
(2)ffmpeg命令導(dǎo)出sdp信息
ffmpeg -re -i D:\test\screen.mp4 -vcodec copy -f rtp rtp://127.0.0.1:8888 > video.sdp推流命令的sdp信息會(huì)輸出到屏幕上,但是一般播放器播放rtp碼流的時(shí)候都需要相應(yīng)rtp碼流的sdp信息,故而需要將sdp信息導(dǎo)出到文件,以便播放器讀取sdp信息。
(3)sdp信息
SDP: v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 127.0.0.1
t=0 0
a=tool:libavformat 58.66.100
m=video 8888 RTP/AVP 96
b=AS:699
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;
sprop-parameter-sets=Z0IAKPQCgC3I,aM44gA==; profile-level-id=420028
對(duì)于上述sdp.txt文件,測(cè)試發(fā)現(xiàn)VLC播放器無(wú)法直接正確讀取解析,需要?jiǎng)h除前幾行信息。
更改后得到:
a=tool:libavformat 58.66.100
m=video 8888 RTP/AVP 96
b=AS:699
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;
sprop-parameter-sets=Z0IAKPQCgC3I,aM44gA==; profile-level-id=420028
(4)用VLC讀取修改后的sdp
打開(kāi)VLC–>媒體–>打開(kāi)文件,讀取video.sdp后,按下播放使vlc處于等待碼流的狀態(tài)。
(5)輸入ffmpeg命令進(jìn)行推送ftp流
然后就有視頻了。
2用VLC推送rtp流.
(1)配置rtp流方案
打開(kāi)“媒體”–>“流”
然后點(diǎn)擊流,就可以播放了,再打開(kāi)一個(gè)播放器,輸入“rtp://@127.0.0.1:5004”播放rtp流。
效果如下:
這樣就可以調(diào)試自己播放器的rtp://流了
總結(jié)
以上是生活随笔為你收集整理的【音视频】调试组播之环境搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 日常开发中我常用的软件
- 下一篇: Thinkpad机器BIOS下清除安全芯