diff --git a/trunk/src/app/srs_app_config.hpp b/trunk/src/app/srs_app_config.hpp index 5b467eeee..1edbcb94a 100644 --- a/trunk/src/app/srs_app_config.hpp +++ b/trunk/src/app/srs_app_config.hpp @@ -70,6 +70,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define SRS_STAGE_HLS_INTERVAL_MS 2000 #define SRS_INGEST_TYPE_FILE "file" +#define SRS_INGEST_TYPE_STREAM "stream" class SrsFileBuffer; diff --git a/trunk/src/app/srs_app_ingest.cpp b/trunk/src/app/srs_app_ingest.cpp index 1b1e64699..4943fd6ab 100644 --- a/trunk/src/app/srs_app_ingest.cpp +++ b/trunk/src/app/srs_app_ingest.cpp @@ -281,6 +281,20 @@ int SrsIngester::initialize_ffmpeg(SrsFFMPEG* ffmpeg, SrsConfDirective* vhost, S // for file, set re. ffmpeg->set_iparams("-re"); + if ((ret = ffmpeg->initialize(input_url, output, log_file)) != ERROR_SUCCESS) { + return ret; + } + } else if (input_type == SRS_INGEST_TYPE_STREAM) { + std::string input_url = _srs_config->get_ingest_input_url(ingest); + if (input_url.empty()) { + ret = ERROR_ENCODER_NO_INPUT; + srs_trace("empty ingest intput url. ret=%d", ret); + return ret; + } + + // for stream, no re. + ffmpeg->set_iparams(""); + if ((ret = ffmpeg->initialize(input_url, output, log_file)) != ERROR_SUCCESS) { return ret; }