What does this error message "Received discontinuity error" mean? From Apple's mediastreamvalidator - http-live-streaming

Using Apple's mediastreamvalidator to validate the m3u8 file, I got an error message: "Received discontinuity error", but I didn't find any explanation for this error message in https://developer.apple.com/library/ios/technotes/tn2235/_index.html
Does anybody know what this error mean, and whether this error will cause any issues?
My mediastreamvalidator's version is: Beta Version 1.1(150608)
Below is the mediastreamvalidator's result:
--------------------------------------------------------------------------------
test_1444446455_hls_64944_116-10.m3u8
--------------------------------------------------------------------------------
Playlist Syntax: OK
Processed 15 out of 15 segments:
test_1444446455_hls_64944_116-10_00003.ts:
ERROR: (-12976) Received discontinuity error
--> Track ID: 258
test_1444446455_hls_64944_116-10_00007.ts:
ERROR: (-12976) Received discontinuity error
--> Track ID: 258
test_1444446455_hls_64944_116-10_00010.ts:
ERROR: (-12976) Received discontinuity error
--> Track ID: 258
test_1444446455_hls_64944_116-10_00014.ts:
ERROR: (-12976) Received discontinuity error
--> Track ID: 258
Average segment duration: 2.00 seconds
Playlist target bitrate: Average: 3.24 Mbits/sec, Max: 3.72 Mbits/sec
Segment bitrate: Average: 3.04 Mbits/sec, Max: 3.65 Mbits/sec
Average segment structural overhead: 76.21 kbits/sec (2.50 %)
Thank you.

A discontinuity can be caused by:
changes in encoding such as: different file format, number, type and identifiers of tracks, different encoding parameters
non-consistent timestamp sequences such as gaps or roll-overs
Such cases must/should be indicated with an EXT-X-DISCONTINUITY tag.
Check if your encoder is producing valid output.

Related

Does the httperf tool send all requests within a second even if the request rate/connection rate is way lower in the response?

Running the following httperf command, wanting to hit the API 500 times with a rate of 500 requests per second.
./httperf --server <server IP> --port <server port> --uri <api uri> --num-conns 500 --rate 500 --ssl --add-header "<cookie values>"
The response is taking longer than a second to complete, more like 60 seconds, with a request rate/connection rate of around 8.2 req/s.
Output below:
Total: connections 500 requests 500 replies 500 test-duration 61.102 s
Connection rate: 8.2 conn/s (122.2 ms/conn, <=500 concurrent connections)
Connection time [ms]: min 60011.9 avg 60523.1 max 61029.1 median 60526.5 stddev 290.7
Connection time [ms]: connect 8.1
Connection length [replies/conn]: 1.000
Request rate: 8.2 req/s (122.2 ms/req)
Request size [B]: 3106.0
Reply rate [replies/s]: min 0.0 avg 0.0 max 0.0 stddev 0.0 (12 samples)
Reply time [ms]: response 4.3 transfer 60510.6
Reply size [B]: header 178.0 content 12910.0 footer 2.0 (total 13090.0)
Reply status: 1xx=0 2xx=500 3xx=0 4xx=0 5xx=0
CPU time [s]: user 28.27 system 32.59 (user 46.3% system 53.3% total 99.6%)
Net I/O: 129.4 KB/s (1.1*10^6 bps)
Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0
So does this mean that the requests are really only getting sent at around 8 per second, or are they technically send to the server, but the server is queing them up.

Why I cannot receive data from a CAN message by using kvaser CAN-USB connector?

I am trying to read the data coming from one device with the CAN communication protocol. I am using the Kvaser CAN-USB connector and python-can, but after sending the message I get the following:
Here's the my code:
import can
import time
bus=can.interface.Bus(bustype='kvaser',channel=0, bitrate=250000)
print (bus)
time.sleep(1)
msg =can.Message(arbitration_id=0x032)
print(msg)
time.sleep(1)
while True:
bus.send(msg)
recvMsg = bus.recv(timeout=0.5)
print (recvMsg)
time.sleep(1)
And here's the response i'm getting:
Kvaser Leaf Light v2, S/N 54781 (#1)
Timestamp: 0.000000 ID: 00000032 X DLC: 0
Timestamp: 1546613346.010231 ID: 0000 S E DLC: 4 00 01 00 00 Channel: 0
According to the manual I have to use the following:
Bitrate: 250 kbs
11-bit identifier: 0x031
Default settings TX only
8 byte message structure:
Byte:1,
Description:State of charge [%],
Type: Unsigned char,
Value: 0-200 LSB = 0.5 % SOC.
This is my first time I use this communication protocol and I have read the python-can 3.0 description, but still is not clear to me how to solve the problem. Any recommendation?
ID: 0000 indicates an error frame!
In the script you set the arbitration_id=0x032, but the manual says
11-bit identifier: 0x031
is that a typo?
How does your network look like? How many nodes do you have?
Have you terminated the CAN bus?
Is there any reason why you do not use PyCANlib from Kvaser?

Opencv_createsamples fails with segmentation fault

I am currently trying to make a HAAR classifier. I have made an annotation file and have done everything as described in the official openCV tutorial: https://docs.opencv.org/3.3.0/dc/d88/tutorial_traincascade.html .
However, when I try to create the samples with opencv_createsamples, I get an error. My command:
opencv_createsamples -vec /some_dirs/samples/samples.vec -info /some_dirs/annotations/annotations.dat -w 8 -h 8 -num 100
The error:
Info file name: /home/nikifaets/code/pointsProcessing/annotations/annotations.dat
Img file name: (NULL)
Vec file name: /home/nikifaets/code/pointsProcessing/samples/samples.vec
BG file name: (NULL)
Num: 100
BG color: 0
BG threshold: 80
Invert: FALSE
Max intensity deviation: 40
Max x angle: 1.1
Max y angle: 1.1
Max z angle: 0.5
Show samples: FALSE
Width: 8
Height: 8
Max Scale: -1
RNG Seed: 12345
Create training samples from images collection...
OpenCV Error: Assertion failed (ssize.width > 0 && ssize.height > 0) in resize, file /build/opencv/src/opencv-3.4.0/modules/imgproc/src/resize.cpp, line 4044
terminate called after throwing an instance of 'cv::Exception'
what(): /build/opencv/src/opencv-3.4.0/modules/imgproc/src/resize.cpp:4044: error: (-215) ssize.width > 0 && ssize.height > 0 in function resize
Aborted (core dumped)
However, if I try to do only two samples (no idea why exactly 2...), it runs and creates the .vec file, although my dataset includes about 300-400 pictures.
Pastebin of annotations.dat
Thank you in advance for the support!
Solved! Thank to Micka for suggesting a solution and being right. There was an error in the annotations file. One of the descriptions of a point of interest was 0 0 0 0 which is invalid. Always check your files carefully!

OpenCV Error: Assertion failed (_img.rows * _img.cols == vecSize)

I keep getting this error
OpenCV Error: Assertion failed (_img.rows * _img.cols == vecSize) in get, file /build/opencv-SviWsf/opencv-2.4.9.1+dfsg/apps/traincascade/imagestorage.cpp, line 157
terminate called after throwing an instance of 'cv::Exception'
what(): /build/opencv-SviWsf/opencv-2.4.9.1+dfsg/apps/traincascade/imagestorage.cpp:157: error: (-215) _img.rows * _img.cols == vecSize in function get
Aborted (core dumped)
when running opencv_traincascade. I run with these arguments: opencv_traincascade -data data -vec positives.vec -bg bg.txt -numPos 1600 -numNeg 800 -numStages 10 -w 20 -h 20.
My project build is as follows:
workspace
|__bg.txt
|__data/ # where I plan to put cascade
|__info/
|__ # all samples
|__info.lst
|__jersey5050.jpg
|__neg/
|__ # neg images
|__opencv/
|__positives.vec
before I ran opencv_createsamples -img jersey5050.jpg -bg bg.txt -info info/info.lst -maxxangle 0.5 - maxyangle 0.5 -maxzangle 0.5 -num 1800
Not quite sure why I'm getting this error. The images are all converted to greyscale as well. The neg's are sized at 100x100 and jersey5050.jpg is sized at 50x50. I saw someone had a the same error on the OpenCV forums and someone suggested deleting the backup .xml files that are created b OpenCV in case the training is "interrupted". I deleted those and nothing. Please help! I'm using python 3 on mac. I'm also running these commands on an ubuntu server from digitalocean with 2GB of ram but I don't think that's part of the problem.
EDIT
Forgot to mention, after the opencv_createsamples command, i then ran opencv_createsamples -info info/info.lst -num 1800 -w 20 -h20 -vec positives.vec
I solved it haha. Even though I specified in the command the width and height to be 20x20, it changed it to 20x24. So the opencv_traincascade command was throwing an error. Once I changed the width and height arguments in the opencv_traincascade command it worked.
This error is observed when the parameters passed is not matching with the vec file generated, as rightly put by the terminal in this line
Assertion failed (_img.rows * _img.cols == vecSize)
opencv_createsamples displays the parameters passed to it for training. Please verify of the parameters used for creating samples are the same that you passed. I have attached the terminal log for reference.
mayank#mayank-Aspire-A515-51G:~/programs/opencv/CSS/homework/HAAR_classifier/dataset$ opencv_createsamples -info pos.txt -num 235 -w 40 -h 40 -vec positives_test.vec
Info file name: pos.txt
Img file name: (NULL)
Vec file name: positives_test.vec
BG file name: (NULL)
Num: 235
BG color: 0
BG threshold: 80
Invert: FALSE
Max intensity deviation: 40
Max x angle: 1.1
Max y angle: 1.1
Max z angle: 0.5
Show samples: FALSE
Width: 40 <--- confirm
Height: 40 <--- confirm
Max Scale: -1
RNG Seed: 12345
Create training samples from images collection...
Done. Created 235 samples

Analysis of nodeload result

Can anyone explain me the nodeload result below.
./nl.js -c 1 -n 10000 -i 1 "http://localhost:3000/
Server: localhost:3000
HTTP Method: GET
Document Path: /
Concurrency Level: 1
Number of requests: 10000
Body bytes transferred: 3516274
Elapsed time (s): 1172.70
Requests per second: 9.23
Mean time per request (ms): 107.95
Time per request standard deviation: 187.76
Percentages of requests served within a certain time (ms)
Min: 38
Avg: 107.9
50%: 84
95%: 141
99%: 1076
Max: 5820
How is the percentage of requests calculated?
Thanks

Resources