Code Monkey home page Code Monkey logo

abr-broadcaster's Introduction

Adaptive Bitrate Broadcaster

Adaptive Bitrate Broadcaster provides a simple interface for live encoders of audio and video streams for adaptive bitrate streaming over HTTP. It supports two most popular Adaptive Bitrate(ABR) protocols namely HLS and DASH. It provides two method of interfaces.

  • HTTP-based REST API interface.
  • Web based GUI

Installation

See INSTALL.md for installation instructions

Usage

The broadcaster can be used either with Web GUI interface or with REST API interface. They listen on port 8888.

Web GUI

Open the Virtual Host URL http://ip_address:8888 in your Browser. For example go to http://127.0.0.1:8888, when opening the browser from the same machine as ABR Broadcaster. Otherwise replace 127.0.0.1 with the IP address of the ABR Broadcaster. The usage of the webpage should be simple and self explanatory.

REST API interface

Refer to the API documentation for details and examples of REST API based usage.

Known Issues

  • Video codec h264_videotoolbox does not work resolutions 240p and below.

abr-broadcaster's People

Contributors

abhishek-akamai avatar jkarthic-akamai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

abr-broadcaster's Issues

dash multi variants not working

works well for hls. but not working on dash. Only showing 720x1280 as available bitrate

Here is output from - curl -X GET http://xx.xx.xx.xxx:8888/broadcaster/0

{
"devices": [
{
"status": "Active",
"video": {
"variants": [
{
"video_height": "360",
"video_width": "640",
"bitrate": "300",
"codec": "libx264",
"audio_tag": "aud0"
},
{
"video_height": "480",
"video_width": "720",
"bitrate": "700",
"codec": "libx264",
"audio_tag": "aud0"
},
{
"video_height": "720",
"video_width": "1280",
"bitrate": "1500",
"codec": "libx264",
"audio_tag": "aud1"
}
],
"enable_cc": "off",
"rate_control": "vbr",
"speed_preset": "fast",
"num_b_frame": 5
},
"input_id": "0",
"input": {
"status": "Active",
"scantype": "",
"input_interface": "decklink",
"framerate": "25",
"height": "576",
"width": "720",
"input_url": "'DeckLink Duo (1)'"
},
"output": {
"seg_in_subfolder": "off",
"burn_tc": "off",
"dash_master_manifest": "out.mpd",
"dash_segtimeline": "off",
"out_type": "DASH",
"enable_abs_seg_path": "off",
"ingest_url": "http://xx.xx.xx.xxx/dash-live/",
"abs_seg_path_base_url": "",
"hls_master_manifest": "master.m3u8",
"create_muxed_av": "off",
"b_ingest_url": "",
"dash_chunked": "on",
"lhls": "off",
"segment_size": "5"
},
"audio": {
"aud0": {
"codec": "aac",
"bitrate": "32"
},
"aud1": {
"codec": "aac",
"bitrate": "64"
}
}
}
],
"codecs": [
"libx264",
"libvpx-vp9"
]
}

At startup, no signal from input source - MacOS

The Web interface shows in the Input info: "avfoundation -video_size 1280x720 -framerate 30: '0:0'
No signal"

MacBook Pro (13-inch, 2017) - MacOS Catalina 10.15.7

tail -f /var/log/apache2/broadcaster-error_log
[Sat Feb 27 22:09:27.574402 2021] [wsgi:error] [pid 94138] [client 127.0.0.1:54142] All Ok, encoder started successfully, referer: http://127.0.0.1:8888/
[Sat Feb 27 22:10:14.939183 2021] [wsgi:error] [pid 94230] [client 127.0.0.1:54323] Audio Card NOT found, referer: http://127.0.0.1:8888/
[Sat Feb 27 22:10:14.963216 2021] [wsgi:error] [pid 94230] [client 127.0.0.1:54323] input_src_id None, referer: http://127.0.0.1:8888/
[Sat Feb 27 22:10:14.964178 2021] [wsgi:error] [pid 94230] [client 127.0.0.1:54323] INSERT INTO CapInputNames  ( InputInterface, InputId, InputUrl )  VALUES( "avfoundation -video_size 1280x720 -framerate 30", "0", " '0:0'" ) , referer: http://127.0.0.1:8888/
[Sat Feb 27 22:17:57.133929 2021] [wsgi:error] [pid 94231] [client 127.0.0.1:56292] Audio Card NOT found, referer: http://127.0.0.1:8888/
[Sat Feb 27 22:17:57.156984 2021] [wsgi:error] [pid 94231] [client 127.0.0.1:56292] input_src_id None, referer: http://127.0.0.1:8888/
[Sat Feb 27 22:17:57.157980 2021] [wsgi:error] [pid 94231] [client 127.0.0.1:56292] INSERT INTO CapInputNames  ( InputInterface, InputId, InputUrl )  VALUES( "avfoundation -video_size 1280x720 -framerate 30", "0", " '0:0'" ) , referer: http://127.0.0.1:8888/
[Sat Feb 27 22:27:18.553508 2021] [wsgi:error] [pid 1940] [client 127.0.0.1:49508] Audio Card NOT found, referer: http://127.0.0.1:8888/
[Sat Feb 27 22:27:18.578153 2021] [wsgi:error] [pid 1940] [client 127.0.0.1:49508] input_src_id None, referer: http://127.0.0.1:8888/
[Sat Feb 27 22:27:18.579314 2021] [wsgi:error] [pid 1940] [client 127.0.0.1:49508] INSERT INTO CapInputNames  ( InputInterface, InputId, InputUrl )  VALUES( "avfoundation -video_size 1280x720 -framerate 30", "0", " '0:0'" ) , referer: http://127.0.0.1:8888/

MPEGTS UDP Support

Hi,

Hope you are doing well and keeping safe.

Is there any way to get MPEGTS output.

Regards,

Fahad

ffmpeg dash identifiers fail

Hello @jkarthic-akamai ,

first of all, very nice project!
I did something like this but without multiple bitrates so far, so I just jumped on yours. ;-)

HLS works perfect
but
DASH always fails on my end, because of
Could not write header for output file #0 (incorrect codec parameters ?): No such file or directory

I am using ffmpeg 4.1

I stripped the commend totally to [f=dash] and it worked fine.
So I put the params back again except media_seg_name=and it worked fine as well!

At the end it seems like this part
media_seg_name='162849/chunk-stream_\\$RepresentationID\\$-\\$Number%05d\\$.\\$ext\\$':init_seg_name='162849/init-stream\\$RepresentationID\\$.\\$ext\\$'

Next I looked as at the ffmpeg dash documentation again.
ffmpeg->dash

What I couldn't see in the identifiers

Available identifiers are "$RepresentationID$", "$Number$", "$Bandwidth$" and "$Time$".

I am no ffmpeg pro but what I can't see is the $ext identifier.

Why did you use those additional identifiers if I may ask?

Any idea why it might fail there?

Encoder stops after an interval

The encoder stops after some point and resumes automatically. E.g. It stops at chunk 100, resumes at 130, then again stops at 230, resumes at 260 and so on.

How to resolve this?

Encoder is not starting

i m using decklink recorder as input,

after configuring hls output encoder not starting, where am i doing wrong

wsgi:error

Hi, I'm having an issue with this project that just happened today. Yesterday it ran fine so I'm not sure what's up. I'm getting wsgi:error constantly when trying to add inputs/outputs and nothing is streaming. Here is an example (with ip addresses and host names edited out):
[Thu Jul 04 01:29:03.657654 2019] [wsgi:error] [pid 4245:tid 139764174927616] [client ...:15844] INSERT INTO CapInputNames ( InputInterface, InputId, InputUrl ) VALUES( "URL", "0", "rtmp://127.0.0.1/live" ) , referer: http://********.com:8888/

Thank you!

MPD and Chunks are not generated

Hi @jkarthic-akamai
Thanks for this project. It really helps in live streaming test. But I have an issue. So, after running everything fine but I can not find the MPD (out.mpd) and the generated chunks. This the configuration of my json file:

{
    "devices": [
        {
            "status": "Active", 
            "output": {
                "burn_tc": "off", 
                "dash_master_manifest": "out.mpd", 
                "out_type": "CMAF", 
                "enable_abs_seg_path": "off", 
                "ingest_url": "http://192.168.2.2", 
                "abs_seg_path_base_url": "", 
                "hls_master_manifest": "master.m3u8", 
                "create_muxed_av": "off", 
                "b_ingest_url": "", 
                "dash_chunked": "on", 
                "segment_size": "8"
            }, 
            "input_id": "0", 
            "input": {
                "status": "Active", 
                "scantype": "", 
                "input_interface": "v4l2 -ts abs -video_size 1280x720", 
                "framerate": "30", 
                "height": "720", 
                "width": "1280", 
                "input_url": "/dev/video0 -f alsa -i default"
            }, 
            "video": {
                "variants": [
                    {
                        "video_height": "360", 
                        "video_width": "640", 
                        "codec": "libx264", 
                        "bitrate": "300", 
                        "audio_tag": "aud0"
                    }, 
                    {
                        "video_height": "480", 
                        "video_width": "720", 
                        "codec": "libx264", 
                        "bitrate": "700", 
                        "audio_tag": "aud0"
                    }, 
                    {
                        "video_height": "720", 
                        "video_width": "1280", 
                        "codec": "libx264", 
                        "bitrate": "1500", 
                        "audio_tag": "aud1"
                    }
                ], 
                "enable_cc": "off", 
                "rate_control": "cbr", 
                "speed_preset": "fast", 
                "num_b_frame": 8
            }, 
            "audio": {
                "aud0": {
                    "codec": "aac", 
                    "bitrate": "32"
                }, 
                "aud1": {
                    "codec": "aac", 
                    "bitrate": "92"
                }
            }
        }
    ], 
    "codecs": [
        "libx264"
    ]
}

Error.log file shows:

[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00245.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00237.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00246.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00238.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00247.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00239.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00248.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00240.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00249.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00241.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00250.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00242.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00251.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00243.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00252.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00244.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00253.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00245.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00254.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00246.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00255.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00247.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00256.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00248.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00257.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00249.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00258.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00250.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00259.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00251.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00260.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00252.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00261.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00253.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00262.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00254.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00263.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00255.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00264.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00256.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00265.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00257.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00266.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00258.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00267.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00259.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00268.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00260.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00269.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00261.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00270.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00262.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00271.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00263.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00272.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00264.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00273.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00265.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00274.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00266.m4s' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_0.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_1.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_2.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_3.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/media_4.m3u8' for writing
[dash @ 0x562cced6e4c0] Opening 'http://192.168.2.2/163919/chunk-stream_t_0-00275.m4s' for writing

But when i started the CURL command, see this the log file of broacaster-error.log


[Mon Nov 19 16:37:14.372782 2018] [wsgi:error] [pid 2670:tid 139705320421120] [client 192.168.2.5:34790] input_src_id None, referer: http://192.168.2.2:8888/
[Mon Nov 19 16:37:14.376514 2018] [wsgi:error] [pid 2670:tid 139705320421120] [client 192.168.2.5:34790] INSERT INTO CapInputNames  ( InputInterface, InputId, InputUrl )  VALUES( "v4l2 -ts abs -video_size 1280x720", "0", "/dev/video0 -f alsa -i default" ) , referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:16.787979 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] Starting encoder, referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:16.788823 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] Storing default value for [audio] codec, referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:16.789208 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] Storing default value for [audio] codec, referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:16.789455 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] Storing default value for dash_master_manifest, referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:16.789592 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] Storing default value for abs_seg_path_base_url, referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:16.789718 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] Storing default value for hls_master_manifest, referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:16.797258 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] Inside start_encoder.py input_id:0, referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:19.356194 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] ffmpeg   -copyts  -probesize 10M -f v4l2 -ts abs -video_size 1280x720 -i /dev/video0 -f alsa -i default -flags +global_header -r 30/1   -af aresample=async=1  -c:v:0 libx264 -pix_fmt:0 yuv420p -preset:0 fast -a53cc:0 0 -b:v:0 300k -bufsize:0 30k -nal-hrd:0 cbr  -s:0 640x360 -force_key_frames:0 "expr:gte(t,n_forced*8)"  -bf:0 8 -x264opts:0 scenecut=-1:rc_lookahead=0  -c:v:1 libx264 -pix_fmt:1 yuv420p -preset:1 fast -a53cc:1 0 -b:v:1 700k -bufsize:1 70k -nal-hrd:1 cbr  -s:1 720x480 -force_key_frames:1 "expr:gte(t,n_forced*8)"  -bf:1 8 -x264opts:1 scenecut=-1:rc_lookahead=0  -c:v:2 libx264 -pix_fmt:2 yuv420p -preset:2 fast -a53cc:2 0 -b:v:2 1500k -bufsize:2 150k -nal-hrd:2 cbr  -s:2 1280x720 -force_key_frames:2 "expr:gte(t,n_forced*8)"  -bf:2 8 -x264opts:2 scenecut=-1:rc_lookahead=0  -c:a:0 aac  -ar 16000 -b:a:0 32k  -c:a:1 aac  -ar 32000 -b:a:1 92k  -f tee -map 0:v -map 0:v -map 0:v -map 1:a? -map 1:a? "[f=dash:media_seg_name='163919/chunk-stream_t_\\$RepresentationID\\$-\\$Number%05d\\$.m4s':init_seg_name='163919/init-stream\\$RepresentationID\\$.m4s':min_seg_duration=8000000:window_size=3:use_timeline=0:http_user_agent=Akamai_Broadcaster_v1.0:streaming=1:index_correction=1:timeout=0.5:hls_playlist=1 ]http://192.168.2.2/out.mpd ", referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:19.370895 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] INSERT INTO StreamConfig  ( ProcessID, InputID, SubStreamID, TIME, InScanType, VidInWidth, VidInHt, FrameRate, VidInFrameRate )  VALUES( "4341", "0", "0", "1542641959370346", "", "1280", "720", "30", "30" ) , referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:19.376204 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] INSERT INTO StreamConfig  ( ProcessID, InputID, SubStreamID, TIME, InScanType, VidInWidth, VidInHt, FrameRate, VidInFrameRate )  VALUES( "4341", "0", "1", "1542641959370346", "", "1280", "720", "30", "30" ) , referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:19.380759 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] INSERT INTO StreamConfig  ( ProcessID, InputID, SubStreamID, TIME, InScanType, VidInWidth, VidInHt, FrameRate, VidInFrameRate )  VALUES( "4341", "0", "2", "1542641959370346", "", "1280", "720", "30", "30" ) , referer: http://192.168.2.2:8888/
[Mon Nov 19 16:39:19.384417 2018] [wsgi:error] [pid 2670:tid 139705278457600] [client 192.168.2.5:34794] All Ok, encoder started successfully, referer: http://192.168.2.2:8888/
[Mon Nov 19 17:07:46.944783 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194] Starting encoder
[Mon Nov 19 17:07:46.948213 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194] 'video'
[Mon Nov 19 17:07:46.964361 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194] ERROR:root:'video'
[Mon Nov 19 17:07:46.964627 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194] Traceback (most recent call last):
[Mon Nov 19 17:07:46.964694 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1535, in __call__
[Mon Nov 19 17:07:46.964722 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]     rv = self.handle_exception(request, response, e)
[Mon Nov 19 17:07:46.964747 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1529, in __call__
[Mon Nov 19 17:07:46.964772 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]     rv = self.router.dispatch(request, response)
[Mon Nov 19 17:07:46.964797 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1278, in default_dispatcher
[Mon Nov 19 17:07:46.964823 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]     return route.handler_adapter(request, response)
[Mon Nov 19 17:07:46.964847 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1102, in __call__
[Mon Nov 19 17:07:46.964873 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]     return handler.dispatch()
[Mon Nov 19 17:07:46.964897 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 572, in dispatch
[Mon Nov 19 17:07:46.964922 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]     return self.handle_exception(e, self.app.debug)
[Mon Nov 19 17:07:46.964947 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 570, in dispatch
[Mon Nov 19 17:07:46.964972 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]     return method(*args, **kwargs)
[Mon Nov 19 17:07:46.964996 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]   File "/home/test/Desktop/ABR-Broadcaster/wsgi-scripts/wc_config_handler.py", line 43, in post
[Mon Nov 19 17:07:46.965096 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]     status_code, reason = startencoder.start_encoder(enc_params)
[Mon Nov 19 17:07:46.965125 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]   File "/home/test/Desktop/ABR-Broadcaster/wsgi-scripts/wc_startencoder.py", line 289, in start_encoder
[Mon Nov 19 17:07:46.965148 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]     store_default_config(default_config, enc_params)
[Mon Nov 19 17:07:46.965170 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]   File "/home/test/Desktop/ABR-Broadcaster/wsgi-scripts/wc_startencoder.py", line 55, in store_default_config
[Mon Nov 19 17:07:46.965193 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194]     curr_config[key][common_vid_params] = default_config[key][common_vid_params]
[Mon Nov 19 17:07:46.965215 2018] [wsgi:error] [pid 2670:tid 139705395955456] [client 192.168.2.5:36194] KeyError: 'video'
[Mon Nov 19 17:08:36.973978 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598] Starting encoder
[Mon Nov 19 17:08:36.975063 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598] 'video'
[Mon Nov 19 17:08:36.977573 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598] ERROR:root:'video'
[Mon Nov 19 17:08:36.977872 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598] Traceback (most recent call last):
[Mon Nov 19 17:08:36.977979 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1535, in __call__
[Mon Nov 19 17:08:36.978025 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]     rv = self.handle_exception(request, response, e)
[Mon Nov 19 17:08:36.978066 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1529, in __call__
[Mon Nov 19 17:08:36.978107 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]     rv = self.router.dispatch(request, response)
[Mon Nov 19 17:08:36.978291 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1278, in default_dispatcher
[Mon Nov 19 17:08:36.978343 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]     return route.handler_adapter(request, response)
[Mon Nov 19 17:08:36.978383 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1102, in __call__
[Mon Nov 19 17:08:36.978423 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]     return handler.dispatch()
[Mon Nov 19 17:08:36.978463 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 572, in dispatch
[Mon Nov 19 17:08:36.978503 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]     return self.handle_exception(e, self.app.debug)
[Mon Nov 19 17:08:36.978543 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 570, in dispatch
[Mon Nov 19 17:08:36.978584 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]     return method(*args, **kwargs)
[Mon Nov 19 17:08:36.978623 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]   File "/home/test/Desktop/ABR-Broadcaster/wsgi-scripts/wc_config_handler.py", line 43, in post
[Mon Nov 19 17:08:36.978665 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]     status_code, reason = startencoder.start_encoder(enc_params)
[Mon Nov 19 17:08:36.978706 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]   File "/home/test/Desktop/ABR-Broadcaster/wsgi-scripts/wc_startencoder.py", line 289, in start_encoder
[Mon Nov 19 17:08:36.979253 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]     store_default_config(default_config, enc_params)
[Mon Nov 19 17:08:36.979307 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]   File "/home/test/Desktop/ABR-Broadcaster/wsgi-scripts/wc_startencoder.py", line 55, in store_default_config
[Mon Nov 19 17:08:36.979345 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598]     curr_config[key][common_vid_params] = default_config[key][common_vid_params]
[Mon Nov 19 17:08:36.979381 2018] [wsgi:error] [pid 2670:tid 139705286850304] [client 192.168.2.5:36598] KeyError: 'video'
[Mon Nov 19 17:09:54.760222 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220] ERROR:root:Extra data: line 1 column 2 - line 1 column 7 (char 1 - 6)
[Mon Nov 19 17:09:54.761076 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220] Traceback (most recent call last):
[Mon Nov 19 17:09:54.761495 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1535, in __call__
[Mon Nov 19 17:09:54.761773 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]     rv = self.handle_exception(request, response, e)
[Mon Nov 19 17:09:54.761882 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1529, in __call__
[Mon Nov 19 17:09:54.761928 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]     rv = self.router.dispatch(request, response)
[Mon Nov 19 17:09:54.762041 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1278, in default_dispatcher
[Mon Nov 19 17:09:54.762093 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]     return route.handler_adapter(request, response)
[Mon Nov 19 17:09:54.762133 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 1102, in __call__
[Mon Nov 19 17:09:54.762173 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]     return handler.dispatch()
[Mon Nov 19 17:09:54.762212 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 572, in dispatch
[Mon Nov 19 17:09:54.762253 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]     return self.handle_exception(e, self.app.debug)
[Mon Nov 19 17:09:54.762293 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]   File "/usr/local/lib/python2.7/dist-packages/webapp2.py", line 570, in dispatch
[Mon Nov 19 17:09:54.762333 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]     return method(*args, **kwargs)
[Mon Nov 19 17:09:54.762372 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]   File "/home/test/Desktop/ABR-Broadcaster/wsgi-scripts/wc_config_handler.py", line 41, in post
[Mon Nov 19 17:09:54.762414 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]     enc_params = self.request.json
[Mon Nov 19 17:09:54.762453 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]   File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 715, in _json_body__get
[Mon Nov 19 17:09:54.762838 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]     return json.loads(self.body.decode(self.charset))
[Mon Nov 19 17:09:54.762906 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]   File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
[Mon Nov 19 17:09:54.763027 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]     return _default_decoder.decode(s)
[Mon Nov 19 17:09:54.763105 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]   File "/usr/lib/python2.7/json/decoder.py", line 367, in decode
[Mon Nov 19 17:09:54.763142 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220]     raise ValueError(errmsg("Extra data", s, end, len(s)))
[Mon Nov 19 17:09:54.763178 2018] [wsgi:error] [pid 2670:tid 139705421133568] [client 192.168.2.5:37220] ValueError: Extra data: line 1 column 2 - line 1 column 7 (char 1 - 6)

Is there any solution? thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.