
Recherche avancée
Autres articles (111)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (10495)
-
FFMPEG Issue : Video breaks a lot hence the real time video gets distorted and gets a little delayed while streaming on a webpage from drone
26 mars 2022, par ashiyaa nunhuck****I am trying to detect a face from my drone camera in real time.The video streams successfully but it is delayed and breaks a lot. Is there any solution to this problem ? How can i have a smooth video streaming with little delay and no video breaking in order to succeed in detecting a face ? Your help will be much appreciated.
Also, this is printed while my code is running: :




INFO:werkzeug:127.0.0.1 - - [27/May/2021 15:16:14] "GET
/video/streaming HTTP/1.1" 200 -
INFO:drone_face_recognition_and_tracking.controllers.server :'action' :
'command', 'cmd' : 'takeOff'
INFO:drone_face_recognition_and_tracking.models.manage_drone :'action' :
'send_command', 'command' : 'takeoff' [h264 @ 0x55aa924a2e40] error
while decoding MB 45 38, bytestream -6 [h264 @ 0x55aa924a2e40]
concealing 424 DC, 424 AC, 424 MV errors in I frame [h264 @
0x55aa922a9a00] concealing 687 DC, 687 AC, 687 MV errors in P frame
[h264 @ 0x55aa923f79c0] left block unavailable for requested intra
mode [h264 @ 0x55aa923f79c0] error while decoding MB 0 34, bytestream
1347 [h264 @ 0x55aa923f79c0] concealing 709 DC, 709 AC, 709 MV errors
in P frame INFO:werkzeug:127.0.0.1 - - [27/May/2021 15:16:17] "POST
/api/command/ HTTP/1.1" 200 - pipe:0 : corrupt decoded frame in stream
0
Last message repeated 2 times [h264 @ 0x55aa922a9a00] error while decoding MB 49 30, bytestream -6 [h264 @ 0x55aa922a9a00] concealing
900 DC, 900 AC, 900 MV errors in P frame pipe:0 : corrupt decoded frame
in stream 0
INFO:drone_face_recognition_and_tracking.models.manage_drone :'action' :
'receive_response', 'response' : b'ok'
INFO:drone_face_recognition_and_tracking.controllers.server :'action' :
'command', 'cmd' : 'faceDetectAndTrack' INFO:werkzeug:127.0.0.1 - -
[27/May/2021 15:16:21] "POST /api/command/ HTTP/1.1" 200 - [h264 @
0x55aa924a2e40] left block unavailable for requested intra4x4 mode -1
[h264 @ 0x55aa924a2e40] error while decoding MB 0 30, bytestream 1624
[h264 @ 0x55aa924a2e40] concealing 949 DC, 949 AC, 949 MV errors in I
frame pipe:0 : corrupt decoded frame in stream 0 [h264 @
0x55aa9244d400] left block unavailable for requested intra mode [h264
@ 0x55aa9244d400] error while decoding MB 0 12, bytestream 2936 [h264
@ 0x55aa9244d400] concealing 2029 DC, 2029 AC, 2029 MV errors in I
frame pipe:0 : corrupt decoded frame in stream 0 [h264 @
0x55aa924bf700] concealing 1632 DC, 1632 AC, 1632 MV errors in P frame
pipe:0 : corrupt decoded frame in stream 0 [h264 @ 0x55aa92414280]
concealing 1571 DC, 1571 AC, 1571 MV errors in P frame




Here is my code :****


import logging
import contextlib
import os
import socket
import subprocess
import threading
import time
import cv2 as cv
import numpy as np

from drone_face_recognition_and_tracking.models.base import Singleton

logger = logging.getLogger(__name__)

DEFAULT_DISTANCE = 0.30
DEFAULT_SPEED = 10
DEFAULT_DEGREE = 10

FRAME_X = int(320) # try 640
FRAME_Y = int(240) # try 480
FRAME_AREA = FRAME_X * FRAME_Y

FRAME_SIZE = FRAME_AREA * 3
FRAME_CENTER_X = FRAME_X / 2
FRAME_CENTER_Y = FRAME_Y / 2

CMD_FFMPEG = (f'ffmpeg -probesize 32 -hwaccel auto -hwaccel_device opencl -i pipe:0 '
 f'-pix_fmt bgr24 -s {FRAME_X}x{FRAME_Y} -f rawvideo pipe:1')

FACE_DETECT_XML_FILE = './drone_face_recognition_and_tracking/models/haarcascade_frontalface_default.xml'


def receive_video(stop_event, pipe_in, host_ip, video_port):
 with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as sock_video:
 sock_video.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
 sock_video.settimeout(.5)
 sock_video.bind((host_ip, video_port))
 data = bytearray(2048)
 while not stop_event.is_set():
 try:
 size, addr = sock_video.recvfrom_into(data)
 # logger.info({'action': 'receive_video', 'data': data})
 except socket.timeout as ex:
 logger.warning({'action': 'receive_video', 'ex': ex})
 time.sleep(0.5)
 continue
 except socket.error as ex:
 logger.error({'action': 'receive_video', 'ex': ex})
 break

 try:
 pipe_in.write(data[:size])
 pipe_in.flush()
 except Exception as ex:
 logger.error({'action': 'receive_video', 'ex': ex})
 break


class Tello_Drone(metaclass=Singleton):
 def __init__(self, host_ip='192.168.10.2', host_port=8889,
 drone_ip='192.168.10.1', drone_port=8889,
 is_imperial=False, speed=DEFAULT_SPEED):
 self.host_ip = host_ip
 self.host_port = host_port
 self.drone_ip = drone_ip
 self.drone_port = drone_port
 self.drone_address = (drone_ip, drone_port)
 self.is_imperial = is_imperial
 self.speed = speed
 self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 self.socket.bind((self.host_ip, self.host_port))

 self.response = None
 self.stop_event = threading.Event()
 self._response_thread = threading.Thread(target=self.receive_response, args=(self.stop_event, ))
 self._response_thread.start()

 self.proc = subprocess.Popen(CMD_FFMPEG.split(' '),
 stdin=subprocess.PIPE,
 stdout=subprocess.PIPE)
 self.proc_stdin = self.proc.stdin
 self.proc_stdout = self.proc.stdout

 self.video_port = 11111

 self._receive_video_thread = threading.Thread(
 target=receive_video,
 args=(self.stop_event, self.proc_stdin,
 self.host_ip, self.video_port,))
 self._receive_video_thread.start()

 self.face_cascade = cv.CascadeClassifier(FACE_DETECT_XML_FILE)
 self._is_enable_face_detect = False

 self.send_command('command')
 self.send_command('streamon')
 self.set_speed(self.speed)

 def receive_response(self, stop_event):
 while not stop_event.is_set():
 try:
 self.response, ip = self.socket.recvfrom(3000)
 logger.info({'action': 'receive_response',
 'response': self.response})
 except socket.error as ex:
 logger.error({'action': 'receive_response',
 'ex': ex})
 break

 def __dell__(self):
 self.stop()

 def stop(self):
 self.stop_event.set()
 retry = 0
 while self._response_thread.is_alive():
 time.sleep(0.3)
 if retry > 30:
 break
 retry += 1
 self.socket.close()
 os.kill(self.proc.pid, 9)

 def send_command(self, command):
 logger.info({'action': 'send_command', 'command': command})
 self.socket.sendto(command.encode('utf-8'), self.drone_address)

 retry = 0
 while self.response is None:
 time.sleep(0.3)
 if retry > 3:
 break
 retry += 1

 if self.response is None:
 response = None
 else:
 response = self.response.decode('utf-8')
 self.response = None
 return response

 def takeoff(self):
 return self.send_command('takeoff')

 def land(self):
 return self.send_command('land')

 def move(self, direction, distance):
 distance = float(distance)
 if self.is_imperial:
 distance = int(round(distance * 30.48))
 else:
 distance = int(round(distance * 100))
 return self.send_command(f'{direction} {distance}')

 def up(self, distance=DEFAULT_DISTANCE):
 return self.move('up', distance)

 def down(self, distance=DEFAULT_DISTANCE):
 return self.move('down', distance)

 def left(self, distance=DEFAULT_DISTANCE):
 return self.move('left', distance)

 def right(self, distance=DEFAULT_DISTANCE):
 return self.move('right', distance)

 def forward(self, distance=DEFAULT_DISTANCE):
 return self.move('forward', distance)

 def back(self, distance=DEFAULT_DISTANCE):
 return self.move('back', distance)

 def set_speed(self, speed):
 return self.send_command(f'speed {speed}')

 def clockwise(self, degree=DEFAULT_DEGREE):
 return self.send_command(f'cw {degree}')

 def counter_clockwise(self, degree=DEFAULT_DEGREE):
 return self.send_command(f'ccw {degree}')

 def video_binary_generator(self):
 while True:
 try:
 frame = self.proc_stdout.read(FRAME_SIZE)
 except Exception as ex:
 logger.error({'action': 'video_binary_generator', 'ex': ex})
 continue

 if not frame:
 continue

 frame = np.fromstring(frame, np.uint8).reshape(FRAME_Y, FRAME_X, 3)
 yield frame

 def enable_face_detect(self):
 self._is_enable_face_detect = True

 def disable_face_detect(self):
 self._is_enable_face_detect = False

 def video_jpeg_generator(self):
 for frame in self.video_binary_generator():
 if self._is_enable_face_detect:
 gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
 faces = self.face_cascade.detectMultiScale(gray, 1.2, 4)
 for (x, y, w, h) in faces:
 cv.rectangle(frame, (x, y), (x+w, y+h), (0, 0, 255), 2)
 break

 _, jpeg = cv.imencode('.jpg', frame)
 jpeg_binary = jpeg.tobytes()
 yield jpeg_binary



-
FFMPEG/DASH-LL creates audio and video chunks at different rates ; player is confused (404 errors)
26 mai 2021, par DannyI'm trying to create a MPEG-DASH "live" stream from a static file to test various low latency modes. The DASH muxer in FFmpeg creates two AdaptationSets, one for video chunks and one for audio chunks.


However, the audio and video chunk files are not created at the same rate (should they be ?). ie, here
stream0
are the video chunks andstream1
are the audio chunks. After a few seconds of running, the webroot directory contains :

chunk-stream0-00001.m4s chunk-stream1-00001.m4s 
chunk-stream0-00002.m4s chunk-stream1-00002.m4s 
chunk-stream0-00003.m4s chunk-stream1-00003.m4s 
chunk-stream0-00004.m4s chunk-stream1-00004.m4s 
 chunk-stream1-00005.m4s 
 chunk-stream1-00006.m4s 
 chunk-stream1-00007.m4s 
 chunk-stream1-00008.m4s 
 chunk-stream1-00009.m4s 
master.mpd 
init-stream0.m4s 
init-stream1.m4s 



The stream doesn't load (or play) on either
dash.js
or shaka-player and there are lots of404 (Not Found)
errors for the video chunks. The player is requesting chunks from both stream0 and stream1 in sequence, ie, stream0-001 + stream1-001, then stream0-002 + stream1-002 and so on.

But since stream0 only goes from 001 to 004, there are lots of 404 errors as it tries to load stream0-005 through 009.


The gap gets wider after letting FFmpeg run for a while. eg, stream0 is 62 to 75 but stream1 is 174 to 187. Reloading the player page at this point fails with
dash.all.debug.js:15615 [2055][FragmentController] No video bytes to push or stream is inactive.
and shows 404 errors stream0 chunk 188 (which doesn't exist yet !)



The FFmpeg command was adopted from DASH streaming from the top-down :


ffmpeg -re -i /mnt/swdevel/TestStreams/H264/ThreeHourMovie.mp4 \
-c:v libx264 -x264-params keyint=120:scenecut=0 -b:v 1M -c:a copy \
-f dash -dash_segment_type mp4 \
 -seg_duration 2 \
 -target_latency 3 \
 -frag_type duration \
 -frag_duration 0.2 \
 -window_size 10 \
 -extra_window_size 3 \
 -streaming 1 \
 -ldash 1 \
 -use_template 1 \
 -use_timeline 0 \
 -write_prft 1 \
 -fflags +nobuffer+flush_packets \
 -format_options "movflags=+cmaf" \
 -utc_timing_url "/pelican/testPlayers/time.php" \
 master.mpd



And the
dash.js
player code is very simple :

const srcUrl = "../ottWebRoot/playerTest/master.mpd"; 

var player = dashjs.MediaPlayer().create();

let autoPlay = false;
player.initialize(document.querySelector("#videoTagId"), srcUrl, autoPlay);

player.updateSettings(
{
 streaming :
 {
 lowLatencyEnabled : true,
 liveDelay : 2,
 jumpGaps : true,
 jumpLargeGaps : true,
 smallGapLimit : 1.5,
 }
});



To provide the
UTCTiming
element in the manifest, the smalltime.php
URL returns a UTC time from the web server :

<?php
 print gmdate("Y-m-d\TH:i:s\Z");
?>



(It also shows 404 errors for the latest stream1/audio chunk, that's likely a different problem)


I'm not sure what to try next. Any and suggestions greatly appreciated.


EDIT I


The suggestion by @Anonymous Coward to change the key interval improved things a lot. The chunks for stream0 and stream1 are in lock-step and have identical sequence numbers.


However, there are still many 404 errors, both on initial page load (without pressing play) and during playback.


I ran
watch -n 1 ls -lt code> and compared side-by-side to the errors in the browser console. It's hard to compare but it <em>looks</em> like the browser is trying to fetch files "on the play edge" which haven't yet been created by FFmpeg. See the pic below.


How do I instruct the browser to wait just a bit more before fetching the edge chunks ?




EDIT II


Using
shaka-player
instead ofdash.js
plays properly without 404 errors. Configured as :

player.configure(
 {
 streaming: 
 {
 lowLatencyMode: true,
 inaccurateManifestTolerance: 0,
 rebufferingGoal: 0.1,
 }
 
 });



Client


- 

- MacOS 10.12
- dash.js latest 3.2.2
- Chrome 79, Safari 12, FireFox v ?








Server


- 

- Apache 2.4.37
- PHP 7.2.4 (for time function only)
- Centos 8








(For reference, here is the mpd file generated by FFmpeg)


<?xml version="1.0" encoding="utf-8"?>
<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minimumupdateperiod="PT500S" availabilitystarttime="2021-05-24T14:50:00.263Z" publishtime="2021-05-24T15:22:45.335Z" timeshiftbufferdepth="PT50.0S" maxsegmentduration="PT2.0S" minbuffertime="PT5.0S">
 <programinformation>
 </programinformation>
 <servicedescription>
 <latency target="3000" referenceid="0"></latency>
 </servicedescription>
 <period start="PT0.0S">
 <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="24/1" maxwidth="1280" maxheight="682" par="15:8" lang="und">
 <resync dt="200000" type="0"></resync>
 <representation mimetype="video/mp4" codecs="avc1.64081f" bandwidth="1000000" width="1280" height="682" sar="1023:1024">
 <producerreferencetime inband="true" type="captured" wallclocktime="2021-05-24T14:50:00.263Z" presentationtime="0">
 <utctiming schemeiduri="urn:mpeg:dash:utc:http-xsdate:2014" value="/pelican/testPlayers/time.php"></utctiming>
 </producerreferencetime>
 <resync dt="5000000" type="1"></resync>
 <segmenttemplate timescale="1000000" duration="2000000" availabilitytimeoffset="1.800" availabilitytimecomplete="false" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">
 </segmenttemplate>
 </representation>
 </adaptationset>
 <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true" lang="und">
 <resync dt="200000" type="0"></resync>
 <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="116317" audiosamplingrate="48000">
 <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>
 <producerreferencetime inband="true" type="captured" wallclocktime="2021-05-24T14:50:00.306Z" presentationtime="0">
 <utctiming schemeiduri="urn:mpeg:dash:utc:http-xsdate:2014" value="/pelican/testPlayers/time.php"></utctiming>
 </producerreferencetime>
 <resync dt="21333" type="1"></resync>
 <segmenttemplate timescale="1000000" duration="2000000" availabilitytimeoffset="1.800" availabilitytimecomplete="false" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">
 </segmenttemplate>
 </representation>
 </adaptationset>
 </period>
 <utctiming schemeiduri="urn:mpeg:dash:utc:http-xsdate:2014" value="/pelican/testPlayers/time.php"></utctiming>
</mpd>



-
Packet corrupt (stream = 0, dts = 2490755129) error in ffmpeg which creates HLS and in ffmpeg which uploads HLS to a CDN
25 mai 2021, par Amit Maharjanffmpeg command which creates the hls stream :

ffmpeg -y -v warning -i udp://225.1.2.3:2000?reuse=1&buffer_size=16777216&localaddr=127.0.0.1&overrun_nonfatal=1 -c:v:0 h264_qsv -global_quality 25 -pix_fmt nv12 -r 59.94 -filter:v:0 fps=fps=59.94,scale=768:432:force_original_aspect_ratio=decrease,pad=768:432:(ow-iw)/2:(oh-ih)/2 -vsync cfr -g 120 -c:a:0 aac -ar 48000 -b:a:0 128k -profile:v:0 high -level:v:0 3.1 -b:v:0 1000k -maxrate:v:0 1000k -bufsize:v:0 1000k -map 0:v -map 0:a -c:v:1 h264 -global_quality 25 -pix_fmt nv12 -r 24 -filter:v:1 fps=fps=24,scale=640:360:force_original_aspect_ratio=decrease,pad=640:360:(ow-iw)/2:(oh-ih)/2 -vsync cfr -g 121 -c:a:1 aac -ar 44100 -b:a:1 128k -profile:v:1 main -level:v:1 3.1 -b:v:1 800k -maxrate:v:1 800k -bufsize:v:1 800k -map 0:v -map 0:a -max_muxing_queue_size 4096 -f hls -hls_list_size 10 -hls_delete_threshold 30 -hls_flags delete_segments -hls_time 4 -master_pl_name master.m3u8 -var_stream_map " v:0,a:0,name:0 v:1,a:1,name:1" -hls_start_number_source epoch C:path_to_hls_data/436379cd-11e6-4ef0-a198-58c69b139803/%v_playlist.m3u8


ffmpeg command to upload the hls stream to cdn :

ffmpeg -y -v warning -re -f hls -http_persistent 0 -i http://localhost:3000/assets/436379cd-11e6-4ef0-a198-58c69b139803/master.m3u8 -b:v:0 1000k -b:a:0 128k -c:v:0 copy -c:a:0 copy -b:v:1 800k -b:a:1 128k -c:v:1 copy -c:a:1 copy -method POST -map 0:v:0 -map 0:a:0 -map 0:v:1 -map 0:a:1 -var_stream_map " v:0,a:0,name:0 v:1,a:1,name:1" -f hls -master_pl_name master.m3u8 -hls_list_size 10 -hls_time 4 -hls_flags second_level_segment_index -master_pl_publish_rate 150 -strftime 1 -hls_segment_filename "cdn_link" "cdn_link"




In the logs below _UploaderProcess is the ffmpeg which uploads the hls stream to cdn, _encProcess_dst is the ffmpeg which creates the hls stream




Error logs :


6961 19:42:40.241 2021-05-08 [2021-05-08T19:42:40.241 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1805890264).

6960 19:42:36.204 2021-05-08 [2021-05-08T19:42:36.204 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 3 segments ahead, expired from playlists

6959 19:42:27.520 2021-05-08 [2021-05-08T19:42:27.520 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [h264 @ 0000025030f09540] co located POCs unavailable
6958 19:42:27.516 2021-05-08 [2021-05-08T19:42:27.516 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [h264 @ 0000025030f0a780] co located POCs unavailable
6957 19:42:27.514 2021-05-08 [2021-05-08T19:42:27.514 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [h264 @ 0000025030f0c780] co located POCs unavailable
6956 19:42:27.504 2021-05-08 Error while decoding stream #0:1: Invalid data found when processing input
6955 19:42:27.504 2021-05-08 [aac @ 000002502ff97c40] Number of scalefactor bands in group (57) exceeds limit (49).
6954 19:42:27.504 2021-05-08 [2021-05-08T19:42:27.504 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [aac @ 000002502ff97c40] Reserved bit set.
6953 19:42:27.503 2021-05-08 Error while decoding stream #0:1: Invalid data found when processing input
6952 19:42:27.503 2021-05-08 [2021-05-08T19:42:27.503 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [aac @ 000002502ff97c40] Number of bands (50) exceeds limit (41).
6951 19:42:27.501 2021-05-08 [mpegts @ 000002502ff6cdc0] Packet corrupt (stream = 1, dts = 5313003).
6950 19:42:27.501 2021-05-08 [2021-05-08T19:42:27.501 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [mpegts @ 000002502ff6cdc0] PES packet size mismatch
6949 19:42:27.498 2021-05-08 [2021-05-08T19:42:27.498 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [mpegts @ 000002502ff6cdc0] Packet corrupt (stream = 0, dts = 5327196).
6948 19:42:24.201 2021-05-08 [2021-05-08T19:42:24.201 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1804448823).
6947 19:42:20.193 2021-05-08 [2021-05-08T19:42:20.193 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 2 segments ahead, expired from playlists
6946 19:42:08.190 2021-05-08 [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1803007381).
6945 19:42:08.190 2021-05-08 [2021-05-08T19:42:08.190 DEBUG video_encoder.js:1] - _UploaderProcess stderr: Last message repeated 1 times
6944 19:41:48.169 2021-05-08 [2021-05-08T19:41:48.169 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 2 segments ahead, expired from playlists
6943 19:41:44.289 2021-05-08 [2021-05-08T19:41:44.289 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [mpegts @ 000002502ff6cdc0] Packet corrupt (stream = 0, dts = 1445819).
6942 19:41:36.153 2021-05-08 [2021-05-08T19:41:36.153 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1800124498).
6941 19:41:34.154 2021-05-08 [2021-05-08T19:41:34.154 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 2 segments ahead, expired from playlists
6940 19:41:31.565 2021-05-08 Error while decoding stream #0:1: Invalid data found when processing input
6939 19:41:31.565 2021-05-08 [2021-05-08T19:41:31.565 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [aac @ 000002502ff97c40] skip_data_stream_element: Input buffer exhausted before END element found
6938 19:41:31.564 2021-05-08 Error while decoding stream #0:1: Invalid data found when processing input
6937 19:41:31.564 2021-05-08 [2021-05-08T19:41:31.564 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [aac @ 000002502ff97c40] Number of bands (46) exceeds limit (41).
6936 19:41:31.498 2021-05-08 [mpegts @ 000002502ff6cdc0] Packet corrupt (stream = 1, dts = 185153643).
6935 19:41:31.498 2021-05-08 [2021-05-08T19:41:31.498 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [mpegts @ 000002502ff6cdc0] PES packet size mismatch
6934 19:41:31.486 2021-05-08 [2021-05-08T19:41:31.486 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [h264 @ 0000025030f0be80] co located POCs unavailable
6933 19:41:31.484 2021-05-08 [2021-05-08T19:41:31.484 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [h264 @ 0000025030f0b540] co located POCs unavailable
6932 19:41:31.483 2021-05-08 [2021-05-08T19:41:31.483 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [h264 @ 0000025030f0b0c0] co located POCs unavailable
6931 19:41:31.480 2021-05-08 [2021-05-08T19:41:31.480 DEBUG video_encoder.js:1] - _encProcess_dst stderr: [mpegts @ 000002502ff6cdc0] Packet corrupt (stream = 0, dts = 185167857).
6930 19:41:31.447 2021-05-08 [2021-05-08T19:41:31.447 DEBUG video_encoder.js:1] - _tspProcess_play stderr: * Warning: regulate: out of sequence PCR, maybe source was cycling, restarting regulation
6929 19:41:22.164 2021-05-08 [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1798863237).
6928 19:41:22.164 2021-05-08 [2021-05-08T19:41:22.164 DEBUG video_encoder.js:1] - _UploaderProcess stderr: Last message repeated 1 times
6927 19:41:02.119 2021-05-08 [2021-05-08T19:41:02.119 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 2 segments ahead, expired from playlists
6926 19:40:50.147 2021-05-08 [2021-05-08T19:40:50.147 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1795980354).
6925 19:40:46.111 2021-05-08 [2021-05-08T19:40:46.111 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 2 segments ahead, expired from playlists
6924 19:40:34.099 2021-05-08 [2021-05-08T19:40:34.099 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1794538913).
6923 19:40:30.074 2021-05-08 [2021-05-08T19:40:30.074 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 2 segments ahead, expired from playlists
6922 19:40:18.062 2021-05-08 [2021-05-08T19:40:18.062 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1793097471).
6921 19:40:14.081 2021-05-08 [2021-05-08T19:40:14.081 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 2 segments ahead, expired from playlists
6920 19:40:02.055 2021-05-08 [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1791656030).
6919 19:40:02.055 2021-05-08 [2021-05-08T19:40:02.055 DEBUG video_encoder.js:1] - _UploaderProcess stderr: Last message repeated 1 times
6918 19:39:42.040 2021-05-08 [2021-05-08T19:39:42.040 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 2 segments ahead, expired from playlists
6917 19:39:30.017 2021-05-08 [2021-05-08T19:39:30.017 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1788773147).
6916 19:39:26.014 2021-05-08 [2021-05-08T19:39:26.014 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 2 segments ahead, expired from playlists
6915 19:39:13.996 2021-05-08 [2021-05-08T19:39:13.996 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1787331706).
6914 19:39:10.004 2021-05-08 [2021-05-08T19:39:10.004 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [hls @ 0000026eabfecb40] skipping 2 segments ahead, expired from playlists
6913 19:38:58.003 2021-05-08 [2021-05-08T19:38:58.003 DEBUG video_encoder.js:1] - _UploaderProcess stderr: [mpegts @ 0000026eabff7c40] Packet corrupt (stream = 0, dts = 1785890264).