restreamer
restreamer copied to clipboard
Video from ATEM Mini Pro keeps crashing (No video)
Hi
Thanks for the great product that restreamer is, especially with the revamp with v2.
I have a video feed issue with sending an RTMP stream to restreamer (using restreamer rtmp server). Restremer detects that the video feed is coming from Blackmagic Design AVC Encoder (ATEM Mini Pro), however the video feed only lasts about 10-15 seconds before the picture goes black and the 'No video' text is shown. It reconnects after few seconds of No video, and the process repeats.
I am using docker and have tested streaming within a local network and to an external instance running on a VPS, experiencing the same issue in both instances.
The ATEM Mini video encoder has no issues streaming to YouTube.
Logging
@1657788970 Input #0, flv, from 'rtmp://localhost/2b26f218-b132-4e60-8847-c0571d0baaec.stream':
@1657788970 Metadata:
@1657788970 encoder : Blackmagic Design AVC Encoder
@1657788970 3.1 : false
@1657788970 5.1 : false
@1657788970 audiochannels : 2
@1657788970 fileSize : 0
@1657788970 4.0 : false
@1657788970 2.1 : false
@1657788970 4.1 : false
@1657788970 7.1 : false
@1657788970 Duration: 00:00:00.00, start: 0.000000, bitrate: N/A
@1657788970 Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, 30 fps, 30 tbr, 1k tbn
@1657788970 Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s
@1657788970 Output #0, hls, to 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec.m3u8':
@1657788970 Metadata:
@1657788970 service_provider: datarhei-Restreamer
@1657788970 3.1 : false
@1657788970 5.1 : false
@1657788970 audiochannels : 2
@1657788970 fileSize : 0
@1657788970 4.0 : false
@1657788970 2.1 : false
@1657788970 4.1 : false
@1657788970 7.1 : false
@1657788970 title : http://xxx.xxx.xxx.xxx:8080/2b26f218-b132-4e60-8847-c0571d0baaec/oembed.json
@1657788970 encoder : Lavf58.76.100
@1657788970 Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, q=2-31, 30 fps, 30 tbr, 90k tbn, 1k tbc
@1657788970 Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s
@1657788970 Stream mapping:
@1657788970 Stream #0:0 -> #0:0 (copy)
@1657788970 Stream #0:1 -> #0:1 (copy)
@1657788970 Press [q] to stop, [?] for help
@1657788971 [hls ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0038.ts' for writing
@1657788973 [hls ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0039.ts' for writing
@1657788973 [mpegts ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0032.ts' for writing
@1657788975 [hls ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0040.ts' for writing
@1657788975 [mpegts ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0033.ts' for writing
@1657788977 [hls ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0041.ts' for writing
@1657788977 [mpegts ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0034.ts' for writing
@1657788979 [hls ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0042.ts' for writing
@1657788979 [mpegts ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0035.ts' for writing
@1657788981 [hls ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0043.ts' for writing
@1657788981 [mpegts ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0036.ts' for writing
@1657788983 [hls ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0044.ts' for writing
@1657788983 [mpegts ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0037.ts' for writing
@1657788985 [hls ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0045.ts' for writing
@1657788985 [mpegts ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0038.ts' for writing
@1657788987 [hls ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0046.ts' for writing
@1657788987 [mpegts ] Opening 'http://admin:imRaeB7aktiqvnNfWI@localhost:8080/memfs/2b26f218-b132-4e60-8847-c0571d0baaec_0039.ts' for writing
Process debug report
{
"about": {
"id": "011eead5-cafc-4f7a-9970-3fc4c72e8466",
"name": "blue-bar-8121",
"created_at": "2022-07-14T07:22:53.000Z",
"version": {
"number": "16.8.0",
"repository_commit": "49a8706637d52cf5f5a9394a0c038845bd86b66d",
"repository_branch": "master",
"build_date": "2022-06-03T15:01:07Z",
"arch": "linux/arm64",
"compiler": "go1.18.2"
},
"auths": [
"localjwt"
],
"app": "datarhei-core",
"uptime_seconds": 5601
},
"ffmpeg": {
"version": "4.4.2",
"compiler": "gcc 10.3.1 (Alpine 10.3.1_git20211027) 20211027",
"configuration": "--extra-version=datarhei --prefix=/usr --extra-libs='-lpthread -lxml2 -lm -lz -lsupc++ -lstdc++ -lssl -lcrypto -lz -lc -ldl' --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-static --enable-openssl --enable-libxml2 --enable-libv4l2 --enable-v4l2_m2m --enable-libfreetype --enable-libsrt --enable-libx264 --enable-libx265 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libvorbis --disable-ffplay --disable-debug --disable-doc --disable-shared",
"libraries": [
{
"name": "libavutil",
"compiled": "56. 70.100",
"linked": "56. 70.100"
},
{
"name": "libavcodec",
"compiled": "58.134.100",
"linked": "58.134.100"
},
{
"name": "libavformat",
"compiled": "58. 76.100",
"linked": "58. 76.100"
},
{
"name": "libavdevice",
"compiled": "58. 13.100",
"linked": "58. 13.100"
},
{
"name": "libavfilter",
"compiled": "7.110.100",
"linked": "7.110.100"
},
{
"name": "libswscale",
"compiled": "5. 9.100",
"linked": "5. 9.100"
},
{
"name": "libswresample",
"compiled": "3. 9.100",
"linked": "3. 9.100"
},
{
"name": "libpostproc",
"compiled": "55. 9.100",
"linked": "55. 9.100"
}
]
},
"config": {
"created_at": "2022-07-14T07:22:53.607721522Z",
"version": 1,
"id": "011eead5-cafc-4f7a-9970-3fc4c72e8466",
"name": "blue-bar-8121",
"address": ":8080",
"update_check": true,
"log": {
"level": "info",
"topics": [],
"max_lines": 1000
},
"db": {
"dir": "/core/config"
},
"host": {
"name": [
"[anonymized]"
],
"auto": true
},
"api": {
"read_only": false,
"access": {
"http": {
"allow": [],
"block": []
},
"https": {
"allow": [],
"block": []
}
},
"auth": {
"enable": true,
"disable_localhost": false,
"username": "[anonymized]",
"password": "[anonymized]",
"jwt": {
"secret": "[anonymized]"
},
"auth0": {
"enable": false,
"tenants": [
"[anonymized]"
]
}
}
},
"tls": {
"address": ":8181",
"enable": false,
"auto": false,
"cert_file": "",
"key_file": ""
},
"storage": {
"disk": {
"dir": "/core/data",
"max_size_mbytes": 0,
"cache": {
"enable": true,
"max_size_mbytes": 0,
"ttl_seconds": 300,
"max_file_size_mbytes": 1,
"types": []
}
},
"memory": {
"auth": {
"enable": true,
"username": "[anonymized]",
"password": "[anonymized]"
},
"max_size_mbytes": 0,
"purge": false
},
"cors": {
"origins": [
"*"
]
},
"mimetypes_file": "./mime.types"
},
"rtmp": {
"enable": true,
"enable_tls": false,
"address": ":1935",
"app": "[anonymized]",
"token": "[anonymized]"
},
"ffmpeg": {
"binary": "ffmpeg",
"max_processes": 0,
"access": {
"input": {
"allow": [],
"block": []
},
"output": {
"allow": [],
"block": []
}
},
"log": {
"max_lines": 50,
"max_history": 3
}
},
"playout": {
"enable": false,
"min_port": 0,
"max_port": 0
},
"debug": {
"profiling": false,
"force_gc": 0
},
"metrics": {
"enable": false,
"enable_prometheus": false,
"range_sec": 300,
"interval_sec": 2
},
"sessions": {
"enable": true,
"ip_ignorelist": [
"[anonymized]",
"[anonymized]"
],
"session_timeout_sec": 30,
"persist": false,
"persist_interval_sec": 300,
"max_bitrate_mbit": 0,
"max_sessions": 0
},
"service": {
"enable": false,
"token": "[anonymized]",
"url": "https://service.datarhei.com"
},
"router": {
"blocked_prefixes": [
"/api"
],
"routes": {},
"ui_path": "/core/ui"
}
},
"process": {
"id": "restreamer-ui:ingest:2b26f218-b132-4e60-8847-c0571d0baaec",
"type": "ffmpeg",
"reference": "2b26f218-b132-4e60-8847-c0571d0baaec",
"created_at": 1657784688,
"config": {
"id": "restreamer-ui:ingest:2b26f218-b132-4e60-8847-c0571d0baaec",
"type": "ffmpeg",
"reference": "2b26f218-b132-4e60-8847-c0571d0baaec",
"input": [
{
"id": "input_0",
"address": "rtmp://[anonymized]",
"options": [
"-fflags",
"+genpts",
"-thread_queue_size",
"512"
]
}
],
"output": [
{
"id": "output_0",
"address": "{memfs}/2b26f218-b132-4e60-8847-c0571d0baaec.m3u8",
"options": [
"-dn",
"-sn",
"-map",
"0:0",
"-codec:v",
"copy",
"-vsync",
"0",
"-copyts",
"-start_at_zero",
"-map",
"0:1",
"-codec:a",
"copy",
"-metadata",
"title=http://[anonymized]",
"-metadata",
"service_provider=datarhei-Restreamer",
"-f",
"hls",
"-start_number",
"0",
"-hls_time",
"2",
"-hls_list_size",
"6",
"-hls_flags",
"append_list+delete_segments",
"-hls_segment_filename",
"{memfs}/2b26f218-b132-4e60-8847-c0571d0baaec_%04d.ts",
"-y",
"-method",
"PUT"
],
"cleanup": [
{
"pattern": "memfs:/2b26f218-b132-4e60-8847-c0571d0baaec_*.ts",
"max_files": 8,
"max_file_age_seconds": 16,
"purge_on_delete": false
},
{
"pattern": "memfs:/2b26f218-b132-4e60-8847-c0571d0baaec.m3u8",
"max_files": 0,
"max_file_age_seconds": 16,
"purge_on_delete": false
}
]
}
],
"options": [
"-err_detect",
"ignore_err"
],
"reconnect": true,
"reconnect_delay_seconds": 5,
"autostart": true,
"stale_timeout_seconds": 20,
"limits": {
"cpu_usage": 0,
"memory_mbytes": 0,
"waitfor_seconds": 0
}
},
"state": {
"order": "start",
"exec": "running",
"runtime_seconds": 5,
"reconnect_seconds": -1,
"last_logline": "[mpegts @ 0xffff9f0496b0] Opening 'http://[anonymized]' for writing",
"progress": {
"inputs": [
{
"id": "input_0",
"address": "rtmp://[anonymized]",
"index": 0,
"stream": 0,
"format": "flv",
"type": "video",
"codec": "h264",
"coder": "h264",
"frame": 165,
"fps": 44.667,
"packet": 165,
"pps": 44.667,
"size_kb": 695,
"bitrate_kbit": 1661.333,
"pix_fmt": "yuv420p",
"q": 0,
"width": 1920,
"height": 1080,
"avstream": null
},
{
"id": "input_0",
"address": "rtmp://[anonymized]",
"index": 0,
"stream": 1,
"format": "flv",
"type": "audio",
"codec": "aac",
"coder": "aac",
"frame": 257,
"fps": 69.667,
"packet": 257,
"pps": 69.667,
"size_kb": 9,
"bitrate_kbit": 18.667,
"q": 0,
"sampling_hz": 48000,
"layout": "stereo",
"channels": 2,
"avstream": null
}
],
"outputs": [
{
"id": "output_0",
"address": "http://[anonymized]",
"index": 0,
"stream": 0,
"format": "hls",
"type": "video",
"codec": "h264",
"coder": "copy",
"frame": 165,
"fps": 44.667,
"packet": 165,
"pps": 44.667,
"size_kb": 695,
"bitrate_kbit": 1661.333,
"pix_fmt": "yuv420p",
"q": -1,
"width": 1920,
"height": 1080,
"avstream": null
},
{
"id": "output_0",
"address": "http://[anonymized]",
"index": 0,
"stream": 1,
"format": "hls",
"type": "audio",
"codec": "aac",
"coder": "copy",
"frame": 257,
"fps": 69.667,
"packet": 257,
"pps": 69.667,
"size_kb": 9,
"bitrate_kbit": 18.667,
"q": 0,
"sampling_hz": 48000,
"layout": "stereo",
"channels": 2,
"avstream": null
}
],
"frame": 165,
"packet": 165,
"fps": 44.667,
"q": -1,
"size_kb": 704,
"time": 5.47,
"bitrate_kbit": 1680,
"speed": 1.33,
"drop": 0,
"dup": 0
},
"memory_bytes": 18923520,
"cpu_usage": 0.5,
"command": [
"-err_detect",
"ignore_err",
"-fflags",
"+genpts",
"-thread_queue_size",
"512",
"-i",
"rtmp://[anonymized]",
"-dn",
"-sn",
"-map",
"0:0",
"-codec:v",
"copy",
"-vsync",
"0",
"-copyts",
"-start_at_zero",
"-map",
"0:1",
"-codec:a",
"copy",
"-metadata",
"title=http://[anonymized]",
"-metadata",
"service_provider=datarhei-Restreamer",
"-f",
"hls",
"-start_number",
"0",
"-hls_time",
"2",
"-hls_list_size",
"6",
"-hls_flags",
"append_list+delete_segments",
"-hls_segment_filename",
"http://[anonymized]",
"-y",
"-method",
"PUT",
"http://[anonymized]"
]
},
"report": {
"created_at": 1657788969,
"prelude": [
"ffmpeg version 4.4.2-datarhei Copyright (c) 2000-2021 the FFmpeg developers",
" built with gcc 10.3.1 (Alpine 10.3.1_git20211027) 20211027",
" configuration: --extra-version=datarhei --prefix=/usr --extra-libs='-lpthread -lxml2 -lm -lz -lsupc++ -lstdc++ -lssl -lcrypto -lz -lc -ldl' --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-static --enable-openssl --enable-libxml2 --enable-libv4l2 --enable-v4l2_m2m --enable-libfreetype --enable-libsrt --enable-libx264 --enable-libx265 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libvorbis --disable-ffplay --disable-debug --disable-doc --disable-shared",
" libavutil 56. 70.100 / 56. 70.100",
" libavcodec 58.134.100 / 58.134.100",
" libavformat 58. 76.100 / 58. 76.100",
" libavdevice 58. 13.100 / 58. 13.100",
" libavfilter 7.110.100 / 7.110.100",
" libswscale 5. 9.100 / 5. 9.100",
" libswresample 3. 9.100 / 3. 9.100",
" libpostproc 55. 9.100 / 55. 9.100",
"Input #0, flv, from 'rtmp://[anonymized]':",
" Metadata:",
" encoder : Blackmagic Design AVC Encoder",
" 3.1 : false",
" 5.1 : false",
" audiochannels : 2",
" fileSize : 0",
" 4.0 : false",
" 2.1 : false",
" 4.1 : false",
" 7.1 : false",
" Duration: 00:00:00.00, start: 0.000000, bitrate: N/A",
" Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, 30 fps, 30 tbr, 1k tbn",
" Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s",
"Output #0, hls, to 'http://[anonymized]':",
" Metadata:",
" service_provider: datarhei-Restreamer",
" 3.1 : false",
" 5.1 : false",
" audiochannels : 2",
" fileSize : 0",
" 4.0 : false",
" 2.1 : false",
" 4.1 : false",
" 7.1 : false",
" title : http://[anonymized]",
" encoder : Lavf58.76.100",
" Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, q=2-31, 30 fps, 30 tbr, 90k tbn, 1k tbc",
" Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s"
],
"log": [
[
"1657788969",
"ffmpeg version 4.4.2-datarhei Copyright (c) 2000-2021 the FFmpeg developers"
],
[
"1657788969",
" built with gcc 10.3.1 (Alpine 10.3.1_git20211027) 20211027"
],
[
"1657788969",
" configuration: --extra-version=datarhei --prefix=/usr --extra-libs='-lpthread -lxml2 -lm -lz -lsupc++ -lstdc++ -lssl -lcrypto -lz -lc -ldl' --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-static --enable-openssl --enable-libxml2 --enable-libv4l2 --enable-v4l2_m2m --enable-libfreetype --enable-libsrt --enable-libx264 --enable-libx265 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libvorbis --disable-ffplay --disable-debug --disable-doc --disable-shared"
],
[
"1657788969",
" libavutil 56. 70.100 / 56. 70.100"
],
[
"1657788969",
" libavcodec 58.134.100 / 58.134.100"
],
[
"1657788969",
" libavformat 58. 76.100 / 58. 76.100"
],
[
"1657788969",
" libavdevice 58. 13.100 / 58. 13.100"
],
[
"1657788969",
" libavfilter 7.110.100 / 7.110.100"
],
[
"1657788969",
" libswscale 5. 9.100 / 5. 9.100"
],
[
"1657788969",
" libswresample 3. 9.100 / 3. 9.100"
],
[
"1657788969",
" libpostproc 55. 9.100 / 55. 9.100"
],
[
"1657788970",
"Input #0, flv, from 'rtmp://[anonymized]':"
],
[
"1657788970",
" Metadata:"
],
[
"1657788970",
" encoder : Blackmagic Design AVC Encoder"
],
[
"1657788970",
" 3.1 : false"
],
[
"1657788970",
" 5.1 : false"
],
[
"1657788970",
" audiochannels : 2"
],
[
"1657788970",
" fileSize : 0"
],
[
"1657788970",
" 4.0 : false"
],
[
"1657788970",
" 2.1 : false"
],
[
"1657788970",
" 4.1 : false"
],
[
"1657788970",
" 7.1 : false"
],
[
"1657788970",
" Duration: 00:00:00.00, start: 0.000000, bitrate: N/A"
],
[
"1657788970",
" Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, 30 fps, 30 tbr, 1k tbn"
],
[
"1657788970",
" Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s"
],
[
"1657788970",
"Output #0, hls, to 'http://[anonymized]':"
],
[
"1657788970",
" Metadata:"
],
[
"1657788970",
" service_provider: datarhei-Restreamer"
],
[
"1657788970",
" 3.1 : false"
],
[
"1657788970",
" 5.1 : false"
],
[
"1657788970",
" audiochannels : 2"
],
[
"1657788970",
" fileSize : 0"
],
[
"1657788970",
" 4.0 : false"
],
[
"1657788970",
" 2.1 : false"
],
[
"1657788970",
" 4.1 : false"
],
[
"1657788970",
" 7.1 : false"
],
[
"1657788970",
" title : http://[anonymized]"
],
[
"1657788970",
" encoder : Lavf58.76.100"
],
[
"1657788970",
" Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, q=2-31, 30 fps, 30 tbr, 90k tbn, 1k tbc"
],
[
"1657788970",
" Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s"
],
[
"1657788970",
"Stream mapping:"
],
[
"1657788970",
" Stream #0:0 -> #0:0 (copy)"
],
[
"1657788970",
" Stream #0:1 -> #0:1 (copy)"
],
[
"1657788970",
"Press [q] to stop, [?] for help"
],
[
"1657788971",
"[hls @ 0xffff9f049010] Opening 'http://[anonymized]' for writing"
],
[
"1657788973",
"[hls @ 0xffff9f049010] Opening 'http://[anonymized]' for writing"
],
[
"1657788973",
"[mpegts @ 0xffff9f0496b0] Opening 'http://[anonymized]' for writing"
]
],
"history": [
{
"created_at": 1657788882,
"prelude": [
"ffmpeg version 4.4.2-datarhei Copyright (c) 2000-2021 the FFmpeg developers",
" built with gcc 10.3.1 (Alpine 10.3.1_git20211027) 20211027",
" configuration: --extra-version=datarhei --prefix=/usr --extra-libs='-lpthread -lxml2 -lm -lz -lsupc++ -lstdc++ -lssl -lcrypto -lz -lc -ldl' --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-static --enable-openssl --enable-libxml2 --enable-libv4l2 --enable-v4l2_m2m --enable-libfreetype --enable-libsrt --enable-libx264 --enable-libx265 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libvorbis --disable-ffplay --disable-debug --disable-doc --disable-shared",
" libavutil 56. 70.100 / 56. 70.100",
" libavcodec 58.134.100 / 58.134.100",
" libavformat 58. 76.100 / 58. 76.100",
" libavdevice 58. 13.100 / 58. 13.100",
" libavfilter 7.110.100 / 7.110.100",
" libswscale 5. 9.100 / 5. 9.100",
" libswresample 3. 9.100 / 3. 9.100",
" libpostproc 55. 9.100 / 55. 9.100",
"rtmp://[anonymized] I/O error"
],
"log": [
[
"1657788882",
"ffmpeg version 4.4.2-datarhei Copyright (c) 2000-2021 the FFmpeg developers"
],
[
"1657788882",
" built with gcc 10.3.1 (Alpine 10.3.1_git20211027) 20211027"
],
[
"1657788882",
" configuration: --extra-version=datarhei --prefix=/usr --extra-libs='-lpthread -lxml2 -lm -lz -lsupc++ -lstdc++ -lssl -lcrypto -lz -lc -ldl' --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-static --enable-openssl --enable-libxml2 --enable-libv4l2 --enable-v4l2_m2m --enable-libfreetype --enable-libsrt --enable-libx264 --enable-libx265 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libvorbis --disable-ffplay --disable-debug --disable-doc --disable-shared"
],
[
"1657788882",
" libavutil 56. 70.100 / 56. 70.100"
],
[
"1657788882",
" libavcodec 58.134.100 / 58.134.100"
],
[
"1657788882",
" libavformat 58. 76.100 / 58. 76.100"
],
[
"1657788882",
" libavdevice 58. 13.100 / 58. 13.100"
],
[
"1657788882",
" libavfilter 7.110.100 / 7.110.100"
],
[
"1657788882",
" libswscale 5. 9.100 / 5. 9.100"
],
[
"1657788882",
" libswresample 3. 9.100 / 3. 9.100"
],
[
"1657788882",
" libpostproc 55. 9.100 / 55. 9.100"
],
[
"1657788882",
"rtmp://[anonymized] I/O error"
]
]
},
{
"created_at": 1657788887,
"prelude": [
"ffmpeg version 4.4.2-datarhei Copyright (c) 2000-2021 the FFmpeg developers",
" built with gcc 10.3.1 (Alpine 10.3.1_git20211027) 20211027",
" configuration: --extra-version=datarhei --prefix=/usr --extra-libs='-lpthread -lxml2 -lm -lz -lsupc++ -lstdc++ -lssl -lcrypto -lz -lc -ldl' --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-static --enable-openssl --enable-libxml2 --enable-libv4l2 --enable-v4l2_m2m --enable-libfreetype --enable-libsrt --enable-libx264 --enable-libx265 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libvorbis --disable-ffplay --disable-debug --disable-doc --disable-shared",
" libavutil 56. 70.100 / 56. 70.100",
" libavcodec 58.134.100 / 58.134.100",
" libavformat 58. 76.100 / 58. 76.100",
" libavdevice 58. 13.100 / 58. 13.100",
" libavfilter 7.110.100 / 7.110.100",
" libswscale 5. 9.100 / 5. 9.100",
" libswresample 3. 9.100 / 3. 9.100",
" libpostproc 55. 9.100 / 55. 9.100",
"Input #0, flv, from 'rtmp://[anonymized]':",
" Metadata:",
" fileSize : 0",
" 4.0 : false",
" 5.1 : false",
" audiochannels : 2",
" 4.1 : false",
" encoder : Blackmagic Design AVC Encoder",
" 2.1 : false",
" 7.1 : false",
" 3.1 : false",
" Duration: 00:00:00.00, start: 0.000000, bitrate: N/A",
" Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, 30 fps, 30 tbr, 1k tbn",
" Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s",
"[http @ 0xffffa489ee50] HTTP error 404 Not Found",
"Output #0, hls, to 'http://[anonymized]':",
" Metadata:",
" fileSize : 0",
" 4.0 : false",
" 5.1 : false",
" audiochannels : 2",
" 4.1 : false",
" service_provider: datarhei-Restreamer",
" 2.1 : false",
" 7.1 : false",
" 3.1 : false",
" title : http://[anonymized]",
" encoder : Lavf58.76.100",
" Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, q=2-31, 30 fps, 30 tbr, 90k tbn, 1k tbc",
" Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s"
],
"log": [
[
"1657788887",
" Metadata:"
],
[
"1657788887",
" fileSize : 0"
],
[
"1657788887",
" 4.0 : false"
],
[
"1657788887",
" 5.1 : false"
],
[
"1657788887",
" audiochannels : 2"
],
[
"1657788887",
" 4.1 : false"
],
[
"1657788887",
" service_provider: datarhei-Restreamer"
],
[
"1657788887",
" 2.1 : false"
],
[
"1657788887",
" 7.1 : false"
],
[
"1657788887",
" 3.1 : false"
],
[
"1657788887",
" title : http://[anonymized]"
],
[
"1657788887",
" encoder : Lavf58.76.100"
],
[
"1657788887",
" Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, q=2-31, 30 fps, 30 tbr, 90k tbn, 1k tbc"
],
[
"1657788887",
" Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s"
],
[
"1657788887",
"Stream mapping:"
],
[
"1657788887",
" Stream #0:0 -> #0:0 (copy)"
],
[
"1657788887",
" Stream #0:1 -> #0:1 (copy)"
],
[
"1657788887",
"Press [q] to stop, [?] for help"
],
[
"1657788887",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788889",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788891",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788893",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788895",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788897",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788899",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788901",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788901",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788903",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788903",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788905",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788905",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788907",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788907",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788909",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788909",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788911",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788911",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788913",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788913",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788915",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788915",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788917",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788917",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788919",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788919",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788921",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788921",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
],
[
"1657788923",
"rtmp://[anonymized] I/O error"
],
[
"1657788923",
"[hls @ 0xffffa4dcd2b0] Opening 'http://[anonymized]' for writing"
],
[
"1657788923",
"[mpegts @ 0xffffa4ae4070] Opening 'http://[anonymized]' for writing"
]
]
},
{
"created_at": 1657788928,
"prelude": [
"ffmpeg version 4.4.2-datarhei Copyright (c) 2000-2021 the FFmpeg developers",
" built with gcc 10.3.1 (Alpine 10.3.1_git20211027) 20211027",
" configuration: --extra-version=datarhei --prefix=/usr --extra-libs='-lpthread -lxml2 -lm -lz -lsupc++ -lstdc++ -lssl -lcrypto -lz -lc -ldl' --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-static --enable-openssl --enable-libxml2 --enable-libv4l2 --enable-v4l2_m2m --enable-libfreetype --enable-libsrt --enable-libx264 --enable-libx265 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libvorbis --disable-ffplay --disable-debug --disable-doc --disable-shared",
" libavutil 56. 70.100 / 56. 70.100",
" libavcodec 58.134.100 / 58.134.100",
" libavformat 58. 76.100 / 58. 76.100",
" libavdevice 58. 13.100 / 58. 13.100",
" libavfilter 7.110.100 / 7.110.100",
" libswscale 5. 9.100 / 5. 9.100",
" libswresample 3. 9.100 / 3. 9.100",
" libpostproc 55. 9.100 / 55. 9.100",
"Input #0, flv, from 'rtmp://[anonymized]':",
" Metadata:",
" 4.0 : false",
" 4.1 : false",
" 7.1 : false",
" fileSize : 0",
" encoder : Blackmagic Design AVC Encoder",
" 2.1 : false",
" 3.1 : false",
" 5.1 : false",
" audiochannels : 2",
" Duration: 00:00:00.00, start: 0.000000, bitrate: N/A",
" Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, 30 fps, 30 tbr, 1k tbn",
" Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s",
"Output #0, hls, to 'http://[anonymized]':",
" Metadata:",
" 4.0 : false",
" 4.1 : false",
" 7.1 : false",
" fileSize : 0",
" service_provider: datarhei-Restreamer",
" 2.1 : false",
" 3.1 : false",
" 5.1 : false",
" audiochannels : 2",
" title : http://[anonymized]",
" encoder : Lavf58.76.100",
" Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, q=2-31, 30 fps, 30 tbr, 90k tbn, 1k tbc",
" Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s"
],
"log": [
[
"1657788928",
" 2.1 : false"
],
[
"1657788928",
" 3.1 : false"
],
[
"1657788928",
" 5.1 : false"
],
[
"1657788928",
" audiochannels : 2"
],
[
"1657788928",
" title : http://[anonymized]"
],
[
"1657788928",
" encoder : Lavf58.76.100"
],
[
"1657788928",
" Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, q=2-31, 30 fps, 30 tbr, 90k tbn, 1k tbc"
],
[
"1657788928",
" Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 65 kb/s"
],
[
"1657788928",
"Stream mapping:"
],
[
"1657788928",
" Stream #0:0 -> #0:0 (copy)"
],
[
"1657788928",
" Stream #0:1 -> #0:1 (copy)"
],
[
"1657788928",
"Press [q] to stop, [?] for help"
],
[
"1657788929",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788931",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788931",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788933",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788933",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788935",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788935",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788937",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788937",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788939",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788939",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788941",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788941",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788943",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788943",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788945",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788945",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788947",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788947",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788949",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788949",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788951",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788951",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788953",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788953",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788955",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788955",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788957",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788957",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788959",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788959",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788961",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788961",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788963",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788963",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
],
[
"1657788964",
"rtmp://[anonymized] I/O error"
],
[
"1657788964",
"[hls @ 0xffffa78c7390] Opening 'http://[anonymized]' for writing"
],
[
"1657788964",
"[mpegts @ 0xffffa7383070] Opening 'http://[anonymized]' for writing"
]
]
}
]
}
}
}
I've been able to get it work with a secondary docker container running nginx-rtmp, which ingests the rtmp stream from the ATEM Mini encoder, then I have restreamer pull the stream from the nginx-rtmp (network source).
Seems to work without issues so far, but it would be nice to not have to use another docker container.
Based on this there seems to be an issue with the restreamer's built in rtmp server.
Nice to here (or not) that not only I have the same issue. For me video is droped after change camera, or couple seconds. PS. Thanks for suggetion of secondary container - I will try that.
Hey @crbon @eustachy84 Thanks for the hint. An update of the RTMP server is already on the roadmap.
I can confirm this as well, at least something similar - I have an atem web presenter HD and I can't send video to the restreamer rtmp server. I have added my restreamer url to an custom xml config file and imported it - but when I click on "ON AIR" it just starts blinking (= no connection possible) and I also don't see any incomming connection in the restreamer logs. if I stop the restreamer docker and instead run my nginx-rtmp docker (on the same server) the atem web presenter can connect without a problem.
I've been able to get it work with a secondary docker container running nginx-rtmp, which ingests the rtmp stream from the ATEM Mini encoder, then I have restreamer pull the stream from the nginx-rtmp (network source).
Seems to work without issues so far, but it would be nice to not have to use another docker container.
Based on this there seems to be an issue with the restreamer's built in rtmp server.
would you share your nginx-rtmp containers nginx config? or maybe there is a way to combine nginx-rtmp proxy and restreamer in a docker-compose file?
edit:
I tried to push the stream from my nginx-rtmp to restreamer but I only get *18 too big RTMP chunk size:134217728, client: restreamer/ingest/d17a56ea-6acc-4451-8c5c-0d08c498280d.stream, server: ngx-relay
errors...
but pulling from the nginx-rtmp container seems to work
We found the bug in the RTMP server and fixed it. Now it's possible to push the stream from the ATEM Mini Pro (and possibly other devices) to the Restreamer RTMP server for ingesting. It will be available in the next update.
When is planed next update (indicative) - 3 days, 3 weeks, 3 months? :)
There might be a bugfix release, but we didn't set any date. Meanwhile you can try out the dev build by using the datarhei/restreamer:dev
or datarhei/restreamer:rpi-dev
images.
I can confirm that the dev images works for me on a atem mini pro!
I can confirm to, that dev image works like charm with mini extreame. I was streaming about 3 hours without problem.
Hi @crbon We are closing your issue https://github.com/datarhei/restreamer/issues/385.
This may be due to the following reasons:
- Problem/inquiry has been solved
- The ticket remained unanswered by you for a more extended time
- The problem was explained and handled in another ticket
You can reopen this ticket at any time!
Please do not open related tickets twice. Always answer/ask in the original issue with the same problem.
Your datarhei team //Sven