c->codec_id = codec_id;
- if (mm->auth_username) {
- char tmp[256] = "";
- switch_snprintf(tmp, sizeof(tmp), "pubUser=%s", mm->auth_username);
- av_set_options_string(c, tmp, "=", ":");
-
- if (mm->auth_password) {
- switch_snprintf(tmp, sizeof(tmp), "pubPasswd=%s", mm->auth_password);
- av_set_options_string(c, tmp, "=", ":");
- }
- }
-
/* Resolution must be a multiple of two. */
c->width = mst->width;
c->height = mst->height;
char codec_str[256];
const AVCodecDescriptor *desc;
- if (!strncmp(data, "rtmp://", 7)) {
+ if (!strncmp(data, "rtmp://", 7) || !strncmp(data, "rtsp://", 7)) {
fmt->video_codec = AV_CODEC_ID_H264;
fmt->audio_codec = AV_CODEC_ID_AAC;
}
return SWITCH_STATUS_GENERR;
} else if (handle->stream_name && (!strcasecmp(handle->stream_name, "rtmp") || !strcasecmp(handle->stream_name, "youtube"))) {
format = "flv";
- switch_snprintf(file, sizeof(file), "rtmp://%s", path);
+
+ // meh really silly format for the user / pass libav.....
+ if (handle->mm.auth_username && handle->mm.auth_password) {
+ switch_snprintf(file, sizeof(file), "rtmp://%s pubUser=%s pubPasswd=%s flashver=FMLE/3.0", path, handle->mm.auth_username, handle->mm.auth_password);
+ } else {
+ switch_snprintf(file, sizeof(file), "rtmp://%s", path);
+ }
+
+ } else if (handle->stream_name && !strcasecmp(handle->stream_name, "rtsp")) {
+ format = "rtsp";
+ switch_snprintf(file, sizeof(file), "rtsp://%s", path);
}
+
ext++;
if ((context = (av_file_context_t *)switch_core_alloc(handle->memory_pool, sizeof(av_file_context_t))) == 0) {
if (fmt->video_codec != AV_CODEC_ID_NONE) {
const AVCodecDescriptor *desc;
- if ((handle->stream_name && (!strcasecmp(handle->stream_name, "rtmp") || !strcasecmp(handle->stream_name, "youtube")))) {
+ if ((handle->stream_name && (!strcasecmp(handle->stream_name, "rtmp") || !strcasecmp(handle->stream_name, "rtsp") || !strcasecmp(handle->stream_name, "youtube")))) {
if (fmt->video_codec != AV_CODEC_ID_H264 ) {
fmt->video_codec = AV_CODEC_ID_H264; // force H264
supported_formats[i++] = "av";
supported_formats[i++] = "rtmp";
+ supported_formats[i++] = "rtsp";
supported_formats[i++] = "mp4";
supported_formats[i++] = "m4a";
supported_formats[i++] = "mov";