more ignores, ignore errors on server, add info for srt ingest
This commit is contained in:
parent
bf5b0ecd1f
commit
2f8c2deebc
@ -2,10 +2,16 @@
|
||||
|
||||
With live ingest you have the possibility to switch from playlist, or folder mode to a live stream.
|
||||
|
||||
It works in a way, that it crate a ffmpeg instance in _listen_ (_server_) mode. For example when you stream over RTMP to it, you can set the ingest input parameters to:
|
||||
It works in a way, that it create a ffmpeg instance in _listen_ (_server_) mode. For example when you stream over RTMP to it, you can set the ingest input parameters to:
|
||||
|
||||
```
|
||||
-f live_flv -listen 1 -i rtmp://localhost:1936/live/stream
|
||||
-f live_flv -listen 1 -i rtmp://0.0.0.0:1936/live/my-secrete-streaming-key
|
||||
```
|
||||
|
||||
For SRT you could use:
|
||||
|
||||
```
|
||||
-f mpegts -i 'srt://0.0.0.0:40077?mode=listener&passphrase=12345abcde'
|
||||
```
|
||||
|
||||
Have in mind, that the ingest mode **can't** pull from a server, it only can act as its own server and listen for income.
|
||||
|
@ -10,6 +10,7 @@ use simplelog::*;
|
||||
|
||||
use ffplayout_lib::utils::{
|
||||
controller::ProcessUnit::*, test_tcp_port, Media, PlayoutConfig, ProcessControl,
|
||||
FFMPEG_IGNORE_ERRORS,
|
||||
};
|
||||
use ffplayout_lib::vec_strings;
|
||||
|
||||
@ -53,7 +54,9 @@ fn server_monitor(
|
||||
proc_ctl.kill_all();
|
||||
}
|
||||
|
||||
log_line(line, level);
|
||||
if !FFMPEG_IGNORE_ERRORS.iter().any(|i| line.contains(*i)) {
|
||||
log_line(line, level);
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
@ -19,11 +19,15 @@ pub const IMAGE_FORMAT: [&str; 21] = [
|
||||
];
|
||||
|
||||
// Some well known errors can be safely ignore
|
||||
pub const FFMPEG_IGNORE_ERRORS: [&str; 5] = [
|
||||
pub const FFMPEG_IGNORE_ERRORS: [&str; 9] = [
|
||||
"ac-tex damaged",
|
||||
"corrupt decoded frame in stream",
|
||||
"corrupt input packet in stream",
|
||||
"end mismatch left",
|
||||
"Packet corrupt",
|
||||
"Referenced QT chapter track not found",
|
||||
"skipped MB in I-frame at",
|
||||
"Thread message queue blocking",
|
||||
"Warning MVs not available",
|
||||
];
|
||||
|
||||
|
@ -640,6 +640,10 @@ pub fn stderr_reader(
|
||||
for line in buffer.lines() {
|
||||
let line = line?;
|
||||
|
||||
if FFMPEG_IGNORE_ERRORS.iter().any(|i| line.contains(*i)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if line.contains("[info]") {
|
||||
info!(
|
||||
"<bright black>[{suffix}]</> {}",
|
||||
@ -650,9 +654,7 @@ pub fn stderr_reader(
|
||||
"<bright black>[{suffix}]</> {}",
|
||||
line.replace("[warning] ", "")
|
||||
)
|
||||
} else if (line.contains("[error]") || line.contains("[fatal]"))
|
||||
&& !FFMPEG_IGNORE_ERRORS.iter().any(|i| line.contains(*i))
|
||||
{
|
||||
} else if line.contains("[error]") || line.contains("[fatal]") {
|
||||
error!(
|
||||
"<bright black>[{suffix}]</> {}",
|
||||
line.replace("[error] ", "").replace("[fatal] ", "")
|
||||
|
Loading…
x
Reference in New Issue
Block a user