
Recherche avancée
Médias (3)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (76)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
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 (8916)
-
Fighting with the VP8 Spec
4 juin 2010, par Multimedia Mike — VP8As stated in a previous blog post on the matter, FFmpeg’s policy is to reimplement codecs rather than adopt other codebases wholesale. And so it is with Google’s recently open sourced VP8 codec, the video portion of their Webm initiative. I happen to know that the new FFmpeg implementation is in the capable hands of several of my co-developers so I’m not even worrying about that angle.
Instead, I thought of another of my characteristically useless exercises : Create an independent VP8 decoder implementation entirely in pure Python. Silly ? Perhaps. But it has one very practical application : By attempting to write a new decoder based on the official bitstream documentation, this could serve as a mechanism for validating said spec, something near and dear to my heart.
What is the current state of the spec ? Let me reiterate that I’m glad it exists. As I stated during the initial open sourcing event, everything that Google produced for the initial event went well beyond my wildest expectations. Having said that, the documentation does fall short in a number of places. Fortunately, I am on the Webm mailing lists and am sending in corrections and ideas for general improvement. For the most part, I have been able to understand the general ideas behind the decoding flow based on the spec and am even able to implement certain pieces correctly. Then I usually instrument the libvpx source code with output statements in order to validate that I’m doing everything right.
Token Blocker
Unfortunately, I’m quite blocked right now on the chapter regarding token/DCT coefficient decoding (chapter 13 in the current document iteration). In his seminal critique of the codec, Dark Shikari complained that large segments of the spec are just C code fragments copy and pasted from the official production decoder. As annoying as that is, the biggest insult comes at the end of section 13.3 :While we have in fact completely described the coefficient decoding procedure, the reader will probably find it helpful to consult the reference implementation, which can be found in the file detokenize.c.
The reader most certainly will not find it helpful to consult the file detokenize.c. The file in question implements the coefficient residual decoding with an unholy sequence of C macros that contain goto statements. Honestly, I thought I did understand the coefficient decoding procedure based on the spec’s description. But my numbers don’t match up with the official decoder. Instrumenting or tracing macro’d code is obviously painful and studying the same code is making me think I don’t understand the procedure after all. To be fair, entropy decoding often occupies a lot of CPU time for many video decoders and I have little doubt that the macro/goto approach is much faster than clearer, more readable methods. It’s just highly inappropriate to refer to it for pedagogical purposes.
Aside : For comparison, check out the reference implementation for the VC-1 codec. It was written so clearly and naively that the implementors used an O(n) Huffman decoder. That’s commitment to clarity.
I wonder if my FFmpeg cohorts are having better luck with the DCT residue decoding in their new libavcodec implementation ? Maybe if I can get this Python decoder working, it can serve as a more appropriate reference decoder.
Update : Almost immediately after I posted this entry, I figured out a big problem that was holding me back, and then several more small ones, and finally decoded by first correct DCT coefficient from the stream (I’ve never been so happy to see the number -448). I might be back on track now. Even better was realizing that my original understanding of the spec was correct.
Unrelated
I found this image on the Doom9 forums. I ROFL’d :
It’s probably unfair and inaccurate but you have to admit it’s funny. Luckily, quality nitpickings aren’t my department. I’m just interested in getting codecs working, tested, and documented so that more people can use them reliably.
-
HLS video not playing in Angular using Hls.js
5 avril 2023, par Jose A. MataránI am trying to play an HLS video using Hls.js in an Angular component. Here is the component code :


import { Component, ElementRef, ViewChild, AfterViewInit } from '@angular/core';
import Hls from 'hls.js';

@Component({
 selector: 'app-ver-recurso',
 templateUrl: './ver-recurso.component.html',
 styleUrls: ['./ver-recurso.component.css']
})
export class VerRecursoComponent implements AfterViewInit {
 @ViewChild('videoPlayer') videoPlayer!: ElementRef<htmlvideoelement>;
 hls!: Hls;

 ngAfterViewInit(): void {
 this.hls = new Hls();

 const video = this.videoPlayer.nativeElement;
 const watermarkText = 'MARCA_DE_AGUA';

 this.hls.on(Hls.Events.MEDIA_ATTACHED, () => {
 this.hls.loadSource(`http://localhost:8080/video/playlist.m3u8?watermarkText=${encodeURIComponent(watermarkText)}`);
 });

 this.hls.attachMedia(video);
 }

 loadVideo() {
 const watermarkText = 'Marca de agua personalizada';
 const video = this.videoPlayer.nativeElement;
 const hlsBaseUrl = 'http://localhost:8080/video';

 if (Hls.isSupported()) {
 this.hls.loadSource(`${hlsBaseUrl}/playlist.m3u8?watermarkText=${encodeURIComponent(watermarkText)}`);
 this.hls.attachMedia(video);
 this.hls.on(Hls.Events.MANIFEST_PARSED, () => {
 video.play();
 });
 } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
 video.src = `${hlsBaseUrl}/playlist.m3u8?watermarkText=${encodeURIComponent(watermarkText)}`;
 video.addEventListener('loadedmetadata', () => {
 video.play();
 });
 }
 }
}
</htmlvideoelement>


I'm not sure what's going wrong, as the requests to the playlist and the segments seem to be working correctly, but the video never plays. Is there anything obvious that I'm missing here ?


On the backend side, I have a Spring Boot application that generates and returns the playlist file, as you can see.


@RestController
public class VideoController {
 @Autowired
 private VideoService videoService;

 @GetMapping("/video/{segmentFilename}")
 public ResponseEntity<resource> getHlsVideoSegment(@PathVariable String segmentFilename, @RequestParam String watermarkText) {
 String inputVideoPath = "/Users/jose/PROYECTOS/VARIOS/oposhield/oposhield-back/repo/202204M-20230111.mp4";
 String hlsOutputPath = "/Users/jose/PROYECTOS/VARIOS/oposhield/oposhield-back/repo/temporal";
 String segmentPath = Paths.get(hlsOutputPath, segmentFilename).toString();

 if (!Files.exists(Paths.get(hlsOutputPath, "playlist.m3u8"))) {
 videoService.generateHlsStream(inputVideoPath, watermarkText, hlsOutputPath);
 }

 // Espera a que esté disponible el segmento de video necesario.
 while (!Files.exists(Paths.get(segmentPath))) {
 try {
 Thread.sleep(1000);
 } catch (InterruptedException e) {
 e.printStackTrace();
 }
 }

 Resource resource;
 try {
 resource = new UrlResource(Paths.get(segmentPath).toUri());
 } catch (Exception e) {
 return ResponseEntity.badRequest().build();
 }

 return ResponseEntity.ok()
 .contentType(MediaType.parseMediaType("application/vnd.apple.mpegurl"))
 .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
 .body(resource);
 }

 @GetMapping("/video/{segmentFilename}.ts")
 public ResponseEntity<resource> getHlsVideoTsSegment(@PathVariable String segmentFilename) {
 String hlsOutputPath = "/Users/jose/PROYECTOS/VARIOS/oposhield/oposhield-back/repo/temporal";
 String segmentPath = Paths.get(hlsOutputPath, segmentFilename + ".ts").toString();

 // Espera a que esté disponible el segmento de video necesario.
 while (!Files.exists(Paths.get(segmentPath))) {
 try {
 Thread.sleep(1000);
 } catch (InterruptedException e) {
 e.printStackTrace();
 }
 }

 Resource resource;
 try {
 resource = new UrlResource(Paths.get(segmentPath).toUri());
 } catch (Exception e) {
 return ResponseEntity.badRequest().build();
 }

 return ResponseEntity.ok()
 .contentType(MediaType.parseMediaType("video/mp2t"))
 .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
 .body(resource);
 }
</resource></resource>


package dev.mataran.oposhieldback.service;


import org.springframework.stereotype.Service;

import java.io.BufferedReader;
import java.io.InputStreamReader;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

@Service
public class VideoService {
 private Process process;
 private ExecutorService executorService = Executors.newSingleThreadExecutor();

 public void generateHlsStream(String inputVideoPath, String watermarkText, String outputPath) {
 Runnable task = () -> {
 try {
 if (process != null) {
 process.destroy();
 }

 String hlsOutputFile = outputPath + "/playlist.m3u8";
 String command = String.format("ffmpeg -i %s -vf drawtext=text='%s':x=10:y=10:fontsize=24:fontcolor=white -codec:v libx264 -crf 21 -preset veryfast -g 50 -sc_threshold 0 -map 0 -flags -global_header -hls_time 4 -hls_list_size 0 -hls_flags delete_segments+append_list -f hls %s", inputVideoPath, watermarkText, hlsOutputFile);
 process = Runtime.getRuntime().exec(command);
 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
 String line;
 while ((line = reader.readLine()) != null) {
 System.out.println(line);
 }
 } catch (Exception e) {
 e.printStackTrace();
 }
 };
 executorService.submit(task);
 }
}



-
Live streaming Channel Multiview used ffmpeg X11grab and shaka packager
18 août 2020, par jgkim0518I have been trying to live stream channel multiview used xvfb, firefox, vlc, ffmpeg and shaka packager.
1). Making virtual display used Xvfb.
2). Popping up a web page used fireforx on 1).
3). Drawing nine video(each channel) used vlc plugin on 2).
4). Capturing 2) used ffmpeg library, x11grab.
5). Transcoding 4) to FHD(HEVC)+10 Audio(each channel sound + dummy), FHD(H.264)+no sound, HD(H.264)+no sound, SD(H.264)+no sound, nHD(H.264)+no sound
6). packaging 5) used Shaka Packager


This is my command. shell script


function exec-xvfb () {
$XVFB :$display_port -br -noreset -nolisten tcp -screen 0 1920x1080x24 &}

function exec-firefox () {
 AUDIO_CTRL_PATH="$audio_ctrl_port:/TEST/vlcenv/.sync.dat" VLC_INFO_PATH=/TEST/vlcenv/vlc_info.dat AUDIO_SHARE_KEY="$AUDIO_SHARE_KEY" AUDIO_SHARE_PATH=/TEST/vlcenv/.share.shm MOSAIC_META_PATH=/TEST/meta_bin.dat DISPLAY=":$display_port" $FIREFOX --display=:$display_port --no remote --profile /TEST/browser -width 1920 -height 1080 http://127.0.0.1:8021/template/best_channel_9_1/page/index.html &
}

function transcoder () {
 AUDIO_CTRL_PATH="$audio_ctrl_port:/TEST/vlcenv/.sync.dat" VLC_INFO_PATH=/TEST/vlcenv/vlc_info.dat 
AUDIO_SHARE_KEY="$AUDIO_SHARE_KEY" AUDIO_SHARE_PATH=/TEST/vlcenv/.share.shm 
MOSAIC_META_PATH=/TEST/meta_bin.dat DISPLAY=":$display_port" 
LD_LIBRARY_PATH=/transcoder/lib:/transcoder/lib/cuda /transcoder/gpu/transcoder -y -re \
 -analyzeduration 0 -f s16le -ar 48000 -ac 2 -pkt_size 128000 -i syc://@:$trc_sync_port?dummy=1 \
 -analyzeduration 0 -f s16le -ar 48000 -ac 2 -pkt_size 128000 -i syc://@:$(($trc_sync_port+1)) \
 -analyzeduration 0 -f s16le -ar 48000 -ac 2 -pkt_size 128000 -i syc://@:$(($trc_sync_port+2)) \
 -analyzeduration 0 -f s16le -ar 48000 -ac 2 -pkt_size 128000 -i syc://@:$(($trc_sync_port+3)) \
 -analyzeduration 0 -f s16le -ar 48000 -ac 2 -pkt_size 128000 -i syc://@:$(($trc_sync_port+4)) \
 -analyzeduration 0 -f s16le -ar 48000 -ac 2 -pkt_size 128000 -i syc://@:$(($trc_sync_port+5)) \
 -analyzeduration 0 -f s16le -ar 48000 -ac 2 -pkt_size 128000 -i syc://@:$(($trc_sync_port+6)) \
 -analyzeduration 0 -f s16le -ar 48000 -ac 2 -pkt_size 128000 -i syc://@:$(($trc_sync_port+7)) \
 -analyzeduration 0 -f s16le -ar 48000 -ac 2 -pkt_size 128000 -i syc://@:$(($trc_sync_port+8)) \
 -analyzeduration 0 -f s16le -ar 48000 -ac 2 -pkt_size 128000 -i syc://@:$(($trc_sync_port+9)) \
 -analyzeduration 0 -f x11grab -draw_mouse 0 -video_size 1920x1080 -framerate 29.97 -i :$display_port.0+0,0,nomouse \
 -c:a libfdk_aac -ar:a 48000 -ac:a 2 -b:a 128000 -vf hwupload_cuda=device=$gpu_no,scale_npp=1920:1080:format=yuv420p -gpu $gpu_no -c:v hevc_nvenc -preset:v fast -profile:v main -r 29.97 -g 15 -b:v 6000000 -bufsize 14000000 -maxrate 7000000 \
 -map 0:a -map 1:a -map 2:a -map 3:a -map 4:a -map 5:a -map 6:a -map 7:a -map 8:a -map 9:a -map 10:v -f mpegts udp://127.0.0.1:$trc_output_port?pkt_size=1316 \
 -an -vf hwupload_cuda=device=$gpu_no,scale_npp=1920:1080:format=yuv420p -gpu $gpu_no -c:v h264_nvenc -preset:v fast -profile:v main -r 29.97 -g 15 -b:v 4000000 -bufsize 8000000 -maxrate 4000000 -f mpegts udp://127.0.0.1:$(($trc_output_port+1))?pkt_size=1316 \
 -an -vf hwupload_cuda=device=$gpu_no,scale_npp=1280:720:format=yuv420p -gpu $gpu_no -c:v h264_nvenc -preset:v fast -profile:v main -r 29.97 -g 15 -b:v 2000000 -bufsize 4000000 -maxrate 2000000 -f mpegts udp://127.0.0.1:$(($trc_output_port+2))?pkt_size=1316 \
 -an -vf hwupload_cuda=device=$gpu_no,scale_npp=720:480:format=yuv420p -gpu $gpu_no -c:v h264_nvenc -preset:v fast -profile:v main -r 29.97 -g 15 -b:v 1500000 -bufsize 3000000 -maxrate 1500000 -f mpegts udp://127.0.0.1:$(($trc_output_port+3))?pkt_size=1316 \
 -an -vf hwupload_cuda=device=$gpu_no,scale_npp=640:360:format=yuv420p -gpu $gpu_no -c:v h264_nvenc -preset:v fast -profile:v main -r 29.97 -g 15 -b:v 800000 -bufsize 1600000 -maxrate 800000 -f mpegts udp://127.0.0.1:$(($trc_output_port+4))?pkt_size=1316 \main &
}

function packager () { 
 rm -rf $OUTPUT/*
 /packager/packager \ 

 "in=udp://127.0.0.1:$trc_output_port,stream=0,init_segment=$OUTPUT/audio/0/audio_4.mp4,segment_template=$OUTPUT/audio/0/\$Time\$.m4s" \ "in=udp://127.0.0.1:$trc_output_port,stream=1,init_segment=$OUTPUT/audio/1/audio_4.mp4,segment_template=$OUTPUT/audio/1/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$trc_output_port,stream=2,init_segment=$OUTPUT/audio/2/audio_4.mp4,segment_template=$OUTPUT/audio/2/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$trc_output_port,stream=3,init_segment=$OUTPUT/audio/3/audio_4.mp4,segment_template=$OUTPUT/audio/3/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$trc_output_port,stream=4,init_segment=$OUTPUT/audio/4/audio_4.mp4,segment_template=$OUTPUT/audio/4/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$trc_output_port,stream=5,init_segment=$OUTPUT/audio/5/audio_4.mp4,segment_template=$OUTPUT/audio/5/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$trc_output_port,stream=6,init_segment=$OUTPUT/audio/6/audio_4.mp4,segment_template=$OUTPUT/audio/6/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$trc_output_port,stream=7,init_segment=$OUTPUT/audio/7/audio_4.mp4,segment_template=$OUTPUT/audio/7/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$trc_output_port,stream=8,init_segment=$OUTPUT/audio/8/audio_4.mp4,segment_template=$OUTPUT/audio/8/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$trc_output_port,stream=9,init_segment=$OUTPUT/audio/9/audio_4.mp4,segment_template=$OUTPUT/audio/9/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$trc_output_port,stream=video,init_segment=$OUTPUT/video/0/video_4.mp4,segment_template=$OUTPUT/video/0/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$(($trc_output_port+1)),stream=video,init_segment=$OUTPUT/video/1/video_4.mp4,segment_template=$OUTPUT/video/1/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$(($trc_output_port+2)),stream=video,init_segment=$OUTPUT/video/2/video_4.mp4,segment_template=$OUTPUT/video/2/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$(($trc_output_port+3)),stream=video,init_segment=$OUTPUT/video/3/video_4.mp4,segment_template=$OUTPUT/video/3/\$Time\$.m4s" \
 "in=udp://127.0.0.1:$(($trc_output_port+4)),stream=video,init_segment=$OUTPUT/video/4/video_4.mp4,segment_template=$OUTPUT/video/4/\$Time\$.m4s" \
 --segment_duration 10 --fragment_duration 10 --minimum_update_period 10 --allow_codec_switching --preserved_segments_outside_live_window 24 --time_shift_buffer_depth 40 \
 --mpd_output $OUTPUT/$output_mpd.mpd
}



vlc warning and error messages when duration 7


...
adaptive debug: Timeline
adaptive debug: Element #1 d=669670 r=0 @t=6321195
adaptive debug: Element #2 d=576576 r=0 @t=6990865
adaptive debug: Element #3 d=669670 r=0 @t=7567441
adaptive debug: Element #4 d=672673 r=0 @t=8237111
adaptive debug: Element #5 d=561561 r=0 @t=8909784
adaptive debug: Element #6 d=654655 r=0 @t=9471345
adaptive debug: Element #7 d=630631 r=0 @t=10126000
adaptive debug: Updated MPD, next update in 7s
main warning: picture is too late to be displayed (missing 223 ms)
main warning: picture is too late to be displayed (missing 157 ms)
main warning: picture is too late to be displayed (missing 91 ms)
main warning: picture is too late to be displayed (missing 24 ms)
adaptive debug: Retrieving http://192.168.0.181:81/300/audio/5/9451440.m4s @0
adaptive debug: Retrieving http://192.168.0.181:81/300/video/0/9475185.m4s @0
adaptive debug: Retrieving http://192.168.0.181:81/300/300.mpd @0
main debug: creating access: http://192.168.0.181:81/300/300.mpd
main debug: (path: \\192.168.0.181:81\300\300.mpd)
main debug: looking for access module matching "http": 26 candidates
http debug: resolving 192.168.0.181 ...
http debug: outgoing request: GET /300/300.mpd HTTP/1.1 Host:192.168.0.181:81 Accept: */* Accept-Language: en_US User-Agent: VLC/3.0.11 LibVLC/3.0.11 Range: bytes=0- 
http debug: incoming response: HTTP/1.1 206 Partial Content Server: nginx Date: Mon, 17 Aug 2020 09:10:08 GMT Content-Type: application/octet-stream Content-Length: 10406 Last-Modified: Mon, 17 Aug 2020 09:10:08 GMT Connection: keep-alive ETag: "5f3a4970-28a6" Content-Range: bytes 0-10405/10406 
main debug: using access module "access"
main debug: looking for stream_filter module matching "prefetch,cache_block": 24 candidates
prefetch debug: using 10406 bytes buffer, 10406 bytes read
main debug: using stream_filter module "prefetch"
main debug: looking for stream_filter module matching "any": 24 candidates
main debug: no stream_filter modules matched
main debug: looking for stream_filter module matching "inflate": 24 candidates
main debug: no stream_filter modules matched
prefetch debug: end of stream
main debug: removing module "prefetch"
main debug: removing module "access"
main debug: looking for xml reader module matching "any": 1 candidates
main debug: using xml reader module "xml"
adaptive debug: MPD profile=urn:mpeg:dash:profile:isoff-live:2011 mediaPresentationDuration=0 minBufferTime=2
adaptive debug: BaseUrl=http://192.168.0.181:81/300/
adaptive debug: Period
adaptive debug: BaseAdaptationSet 0
adaptive debug: Representation 0 [mp4a]
adaptive debug: InitSegmentTemplate #0 url=http://192.168.0.181:81/300/audio/0/audio_4.mp4 duration 0
adaptive debug: SegmentTemplate #12 url=http://192.168.0.181:81/300/audio/0/$Time$.m4s duration 0
adaptive debug: Timeline
adaptive debug: Element #1 d=629760 r=1 @t=6930480
adaptive debug: Element #3 d=631680 r=0 @t=8190000
adaptive debug: Element #4 d=629760 r=3 @t=8821680
adaptive debug: Representation 1 [mp4a]
adaptive debug: InitSegmentTemplate #0 url=http://192.168.0.181:81/300/audio/1/audio_4.mp4 duration 0
adaptive debug: SegmentTemplate #12 url=http://192.168.0.181:81/300/audio/1/$Time$.m4s duration 0
...
adaptive debug: Timeline
adaptive debug: Element #1 d=576576 r=0 @t=6990865
adaptive debug: Element #2 d=669670 r=0 @t=7567441
adaptive debug: Element #3 d=672673 r=0 @t=8237111
adaptive debug: Element #4 d=561561 r=0 @t=8909784
adaptive debug: Element #5 d=654655 r=0 @t=9471345
adaptive debug: Element #6 d=630631 r=0 @t=10126000
adaptive debug: Element #7 d=666666 r=0 @t=10756631
adaptive debug: Updated MPD, next update in 7s
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 2168 ms)
main debug: ES_OUT_RESET_PCR called
main debug: Buffering 0%
main debug: Buffering 1%
main debug: Buffering 2%
main debug: Received first picture
mmdevice debug: state changed: 0
main debug: Buffering 4%
...
main debug: Buffering 15%
wasapi debug: reset
main debug: Buffering 17%
...
main debug: Buffering 98%
main debug: Stream buffering done (2176 ms in 16 ms)
main debug: Decoder wait done in 0 ms
main warning: playback too early (-110003): down-sampling
mmdevice debug: state changed: 1
adaptive debug: Retrieving http://192.168.0.181:81/300/video/0/10129840.m4s @0
adaptive debug: Retrieving http://192.168.0.181:81/300/audio/5/10081200.m4s @0
adaptive debug: Retrieving http://192.168.0.181:81/300/300.mpd @0
main debug: creating access: http://192.168.0.181:81/300/300.mpd
main debug: (path: \\192.168.0.181:81\300\300.mpd)
main debug: looking for access module matching "http": 26 candidates
http debug: resolving 192.168.0.181 ...
http debug: outgoing request: GET /300/300.mpd HTTP/1.1 Host: 192.168.0.181:81 Accept: */* Accept-Language: en_US User-Agent: VLC/3.0.11 LibVLC/3.0.11 Range: bytes=0- 
http debug: incoming response: HTTP/1.1 206 Partial Content Server: nginx Date: Mon, 17 Aug 2020 09:10:15 GMT Content-Type: application/octet-stream Content-Length: 10387 Last-Modified: Mon, 17 Aug 2020 09:10:15 GMT Connection: keep-alive ETag: "5f3a4977-2893" Content-Range: bytes 0-10386/10387 
main debug: using access module "access"
main debug: looking for stream_filter module matching "prefetch,cache_block": 24 candidates
prefetch debug: using 10387 bytes buffer, 10387 bytes read
main debug: using stream_filter module "prefetch"
main debug: looking for stream_filter module matching "any": 24 candidates
main debug: no stream_filter modules matched
main debug: looking for stream_filter module matching "inflate": 24 candidates
main debug: no stream_filter modules matched
prefetch debug: end of stream
main debug: removing module "prefetch"
main debug: removing module "access"
main debug: looking for xml reader module matching "any": 1 candidates
main debug: using xml reader module "xml"
adaptive debug: MPD profile=urn:mpeg:dash:profile:isoff-live:2011 mediaPresentationDuration=0 minBufferTime=2
adaptive debug: BaseUrl=http://192.168.0.181:81/300/
adaptive debug: Period
adaptive debug: BaseAdaptationSet 0
adaptive debug: Representation 0 [mp4a]
adaptive debug: InitSegmentTemplate #0 url=http://192.168.0.181:81/300/audio/0/audio_4.mp4 duration 0
adaptive debug: SegmentTemplate #13 url=http://192.168.0.181:81/300/audio/0/$Time$.m4s duration 0
...



keep getting a similar message


vlc warning and error messages when duration 5


adaptive debug: Timeline
adaptive debug: Element #1 d=456457 r=0 @t=9501375
adaptive debug: Element #2 d=453453 r=0 @t=9957832
adaptive debug: Element #3 d=471472 r=0 @t=10411285
adaptive debug: Element #4 d=381381 r=0 @t=10882757
adaptive debug: Element #5 d=477478 r=0 @t=11264138
adaptive debug: Element #6 d=468468 r=0 @t=11741616
adaptive debug: Element #7 d=474475 r=0 @t=12210084
adaptive debug: Element #8 d=378378 r=0 @t=12684559
adaptive debug: Element #9 d=468468 r=0 @t=13062937
adaptive debug: Element #10 d=474475 r=0 @t=13531405
adaptive debug: Updated MPD, next update in 5s
adaptive debug: Retrieving http://192.168.0.181:81/300/audio/5/8101680.m4s @0
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 4794 ms)
main warning: buffer too late (-588333 us): dropped
main debug: ES_OUT_RESET_PCR called
main debug: Buffering 0%
main debug: Buffering 1%
main debug: Buffering 2%
main debug: Buffering 3%
...
main debug: Buffering 15%
main debug: Received first picture
main debug: Buffering 16%
...
main debug: Buffering 99%
main debug: Stream buffering done (4804 ms in 122 ms)
main debug: Decoder wait done in 0 ms
main debug: inserting 3246 zeroes
mmdevice debug: state changed: 0
wasapi debug: reset
main warning: playback too early (-85958): down-sampling
mmdevice debug: state changed: 1
adaptive debug: Retrieving http://192.168.0.181:81/300/video/0/8114825.m4s @0
adaptive debug: Retrieving http://192.168.0.181:81/300/300.mpd @0
main debug: creating access: http://192.168.0.181:81/300/300.mpd
main debug: (path: \\192.168.0.181:81\300\300.mpd)
main debug: looking for access module matching "http": 26 candidates
http debug: resolving 192.168.0.181 ...
http debug: outgoing request: GET /300/300.mpd HTTP/1.1 Host: 192.168.0.181:81 Accept: */* Accept-Language: en_US User-Agent: VLC/3.0.11 LibVLC/3.0.11 Range: bytes=0- 
http debug: incoming response: HTTP/1.1 206 Partial Content Server: nginx Date: Mon, 17 Aug 2020 09:18:28 GMT Content-Type: application/octet-stream Content-Length: 12632 Last-Modified: Mon, 17 Aug 2020 09:18:28 GMT Connection: keep-alive ETag: "5f3a4b64-3158" Content-Range: bytes 0-12631/12632 
main debug: using access module "access"
main debug: looking for stream_filter module matching "prefetch,cache_block": 24 candidates
prefetch debug: using 12632 bytes buffer, 12632 bytes read
main debug: using stream_filter module "prefetch"
main debug: looking for stream_filter module matching "any": 24 candidates
main debug: no stream_filter modules matched
main debug: looking for stream_filter module matching "inflate": 24 candidates
main debug: no stream_filter modules matched
prefetch debug: end of stream
main debug: removing module "prefetch"
main debug: removing module "access"
main debug: looking for xml reader module matching "any": 1 candidates
main debug: using xml reader module "xml"
adaptive debug: MPD profile=urn:mpeg:dash:profile:isoff-live:2011 mediaPresentationDuration=0 minBufferTime=2
adaptive debug: BaseUrl=http://192.168.0.181:81/300/
adaptive debug: Period
adaptive debug: BaseAdaptationSet 0
adaptive debug: Representation 0 [mp4a]
adaptive debug: InitSegmentTemplate #0 url=http://192.168.0.181:81/300/audio/0/audio_4.mp4 duration 0
adaptive debug: SegmentTemplate #12 url=http://192.168.0.181:81/300/audio/0/$Time$.m4s duration 0
...
adaptive debug: Timeline
adaptive debug: Element #1 d=453453 r=0 @t=9957832
adaptive debug: Element #2 d=471472 r=0 @t=10411285
adaptive debug: Element #3 d=381381 r=0 @t=10882757
adaptive debug: Element #4 d=477478 r=0 @t=11264138
adaptive debug: Element #5 d=468468 r=0 @t=11741616
adaptive debug: Element #6 d=474475 r=0 @t=12210084
adaptive debug: Element #7 d=378378 r=0 @t=12684559
adaptive debug: Element #8 d=468468 r=0 @t=13062937
adaptive debug: Element #9 d=474475 r=0 @t=13531405
adaptive debug: Element #10 d=459459 r=0 @t=14005880
adaptive debug: Updated MPD, next update in 5s
adaptive debug: Retrieving http://192.168.0.181:81/300/audio/5/8550960.m4s @0
main warning: picture is too late to be displayed (missing 383 ms)
main warning: picture is too late to be displayed (missing 317 ms)
main warning: picture is too late to be displayed (missing 251 ms)
main warning: picture is too late to be displayed (missing 184 ms)
main warning: picture is too late to be displayed (missing 117 ms)
adaptive debug: Retrieving http://192.168.0.181:81/300/300.mpd @0
main debug: creating access: http://192.168.0.181:81/300/300.mpd
main debug: (path: \\192.168.0.181:81\300\300.mpd)
main debug: looking for access module matching "http": 26 candidates
http debug: resolving 192.168.0.181 ...
http debug: outgoing request: GET /300/300.mpd HTTP/1.1 Host: 192.168.0.181:81 Accept: */* Accept-Language: en_US User-Agent: VLC/3.0.11 LibVLC/3.0.11 Range: bytes=0- 
http debug: incoming response: HTTP/1.1 206 Partial Content Server: nginx Date: Mon, 17 Aug 2020 09:18:33 GMT Content-Type: application/octet-stream Content-Length: 12596 Last-Modified: Mon, 17 Aug 2020 09:18:33 GMT Connection: keep-alive ETag: "5f3a4b69-3134" Content-Range: bytes 0-12595/12596 
main debug: using access module "access"
main debug: looking for stream_filter module matching "prefetch,cache_block": 24 candidates
prefetch debug: using 12596 bytes buffer, 12596 bytes read
main debug: using stream_filter module "prefetch"
main debug: looking for stream_filter module matching "any": 24 candidates
main debug: no stream_filter modules matched
main debug: looking for stream_filter module matching "inflate": 24 candidates
main debug: no stream_filter modules matched
prefetch debug: end of stream
main debug: removing module "prefetch"
main debug: removing module "access"
main debug: looking for xml reader module matching "any": 1 candidates
main debug: using xml reader module "xml"
adaptive debug: MPD profile=urn:mpeg:dash:profile:isoff-live:2011 mediaPresentationDuration=0 minBufferTime=2
adaptive debug: BaseUrl=http://192.168.0.181:81/300/
adaptive debug: Period
adaptive debug: BaseAdaptationSet 0
adaptive debug: Representation 0 [mp4a]
adaptive debug: InitSegmentTemplate #0 url=http://192.168.0.181:81/300/audio/0/audio_4.mp4 duration 0
adaptive debug: SegmentTemplate #13 url=http://192.168.0.181:81/300/audio/0/$Time$.m4s duration 0
...



keep getting a similar message


This is played on vlc. this is duration 10 sec. but I want to live streaming duration 5 under.
cuda, framerate, GOP size and bitrate are fixed.


I know that is inefficient. but now, I have to live stream channel multiview duration 5 under. How can I achieve ? please help me.