
omnileads/rtpengine本Docker镜像提供WebRTC VoIP场景下的媒体转码功能,专注于解决不同设备、浏览器及网络环境中音频/视频编解码器不兼容问题。通过实时转码处理,确保WebRTC通信链路中的媒体流能够在各类终端间无缝互通,适用于实时音视频通信系统的兼容性增强环节。
bashdocker run -d \ --name webrtc-transcoder \ -p 8080:8080 \ # 转码服务API端口 -p 5000-5010:5000-5010/udp \ # 媒体流传输端口 -e INPUT_CODEC=vp8 \ # 输入视频编解码器 -e OUTPUT_CODEC=h264 \ # 输出视频编解码器 -e AUDIO_BITRATE=32000 \ # 音频输出码率(bps) -e VIDEO_BITRATE=500000 \ # 视频输出码率(bps) your-registry/webrtc-voip-transcoder:latest
yamlversion: '3' services: transcoder: image: your-registry/webrtc-voip-transcoder:latest container_name: webrtc-transcoder ports: - "8080:8080" - "5000-5010:5000-5010/udp" environment: - INPUT_CODEC=vp9 - OUTPUT_CODEC=h264 - VIDEO_RESOLUTION=1280x720 - VIDEO_FRAMERATE=30 - AUDIO_SAMPLERATE=48000 - LOG_LEVEL=info volumes: - ./transcoder-config:/etc/transcoder # 挂载自定义配置文件 restart: unless-stopped
| 环境变量 | 描述 | 可选值范围 | 默认值 |
|---|---|---|---|
INPUT_CODEC | 输入视频编解码器 | vp8, vp9, h264 | vp8 |
OUTPUT_CODEC | 输出视频编解码器 | vp8, vp9, h264 | h264 |
VIDEO_RESOLUTION | 输出视频分辨率 | 如 640x480, 1280x720等 | 640x480 |
VIDEO_FRAMERATE | 输出视频帧率 | 15-60 fps | 30 |
VIDEO_BITRATE | 输出视频码率(bps) | 256000-4000000 | *** |
AUDIO_BITRATE | 输出音频码率(bps) | 8000-*** | 32000 |
AUDIO_SAMPLERATE | 输出音频采样率(Hz) | 8000, ***, 32000, 48000 | 48000 |
LOG_LEVEL | 日志级别 | debug, info, warn, error | info |
MAX_SESSIONS | 最大并发转码会话数 | 1-100 | 10 |
如需更复杂的转码规则(如条件转码、多输出流),可通过挂载配置文件实现:
bashdocker run -d \ --name webrtc-transcoder \ -p 8080:8080 \ -v ./transcoder-config:/etc/transcoder \ # 挂载配置目录 your-registry/webrtc-voip-transcoder:latest
配置文件(/etc/transcoder/config.json)示例:
json{ "transcode_rules": [ { "input_codec": "vp8", "output_codecs": ["h264", "vp9"], "h264": { "bitrate": ***, "resolution": "1280x720", "framerate": 30 }, "vp9": { "bitrate": 800000, "resolution": "854x480", "framerate": 25 } } ], "network": { "buffer_size": 4096, "timeout": 30 } }
--net=host)减少容器网络开销




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务