
Recherche avancée
Médias (91)
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (99)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (10485)
-
What could be the cause of these http-livestream artefacts in google chrome ?
21 avril 2021, par NGauthierHere is the http-livestream setup : The server is running ffmpeg with the DASH protocol and h264 encoding. The client is using Dash.js. Resolution is fixed to 1920x1080, with 24 bit depth, and 60hz.


The artefacting (image below) is only present when the last row of the video is within chrome viewport (so it disapears if the page is scrolled up). It manifests itself as stretching of the center row of pixels downwards, and appears to only affect some color channels.


I have attempted changing the bitrate, and cutting the last row from the source, thinking the issue could be on the server side, without any impact. The fact that the issue depends on the position in the viewport makes me suspect a glitch in chrome itself.


I have also attempted to force hardware decoding off in chrome :\flags and it does not solve the issue.


Please submit your hypothesis on what could be the cause of this issue. Thanks.





Update #1


Here is the ffmpeg command line and logs :


export DISPLAY=:0 && ffmpeg -f x11grab -framerate 60 -video_size 1920x1080 -i :0.0+0,0 -draw_mouse 0 -f dash -utc_timing_url https://time.akamai.com/?iso -streaming 1 -seg_duration 2 -frag_duration 0.033 -fflags nobuffer -fflags flush_packets -c:v h264 -preset ultrafast data/stream.mpd



And the logs :


ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
 configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
[x11grab @ 0x561ca34b9980] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0.0+0,0':
 Duration: N/A, start: 1618941693.853256, bitrate: N/A
 Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1920x1080, 60 fps, 1000k tbr, 1000k tbn, 1000k tbc
Stream mapping:
 Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x561ca34c5300] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x561ca34c5300] profile High 4:4:4 Predictive, level 4.2, 4:4:4 8-bit
[libx264 @ 0x561ca34c5300] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=6 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
[dash @ 0x561ca34c3740] No bit rate set for stream 0
[dash @ 0x561ca34c3740] Opening 'data/init-stream0.m4s' for writing
Output #0, dash, to 'data/stream.mpd':
 Metadata:
 encoder : Lavf58.29.100
 Stream #0:0: Video: h264 (libx264), yuv444p, 1920x1080, q=-1--1, 60 fps, 15360 tbn, 60 tbc
 Metadata:
 encoder : Lavc58.54.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
[dash @ 0x561ca34c3740] Opening 'data/chunk-stream0-00001.m4s.tmp' for writing
frame= 34 fps=0.0 q=15.0 size=N/A time=00:00:00.43 bitrate=N/A dup=5 drop=0 speed=0.836x 
frame= 65 fps= 64 q=15.0 size=N/A time=00:00:00.95 bitrate=N/A dup=5 drop=0 speed=0.929x 
frame= 96 fps= 62 q=15.0 size=N/A time=00:00:01.46 bitrate=N/A dup=5 drop=2 speed=0.955x 
frame= 126 fps= 62 q=15.0 size=N/A time=00:00:01.96 bitrate=N/A dup=5 drop=3 speed=0.962x 
frame= 157 fps= 62 q=15.0 size=N/A time=00:00:02.48 bitrate=N/A dup=5 drop=3 speed=0.973x 
frame= 188 fps= 61 q=15.0 size=N/A time=00:00:03.00 bitrate=N/A dup=5 drop=3 speed=0.98x 
frame= 217 fps= 61 q=15.0 size=N/A time=00:00:03.48 bitrate=N/A dup=5 drop=3 speed=0.977x 
frame= 247 fps= 61 q=15.0 size=N/A time=00:00:03.98 bitrate=N/A dup=6 drop=3 speed=0.976x 
[dash @ 0x561ca34c3740] Opening 'data/stream.mpd.tmp' for writing
[dash @ 0x561ca34c3740] Opening 'data/chunk-stream0-00002.m4s.tmp' for writing
frame= 279 fps= 61 q=15.0 size=N/A t



-
Google Speech API + Go - Transcribing Audio Stream of Unknown Length
14 février 2018, par JoshI have an rtmp stream of a video call and I want to transcribe it. I have created 2 services in Go and I’m getting results but it’s not very accurate and a lot of data seems to get lost.
Let me explain.
I have a
transcode
service, I use ffmpeg to transcode the video to Linear16 audio and place the output bytes onto a PubSub queue for atranscribe
service to handle. Obviously there is a limit to the size of the PubSub message, and I want to start transcribing before the end of the video call. So, I chunk the transcoded data into 3 second clips (not fixed length, just seems about right) and put them onto the queue.The data is transcoded quite simply :
var stdout Buffer
cmd := exec.Command("ffmpeg", "-i", url, "-f", "s16le", "-acodec", "pcm_s16le", "-ar", "16000", "-ac", "1", "-")
cmd.Stdout = &stdout
if err := cmd.Start(); err != nil {
log.Fatal(err)
}
ticker := time.NewTicker(3 * time.Second)
for {
select {
case <-ticker.C:
bytesConverted := stdout.Len()
log.Infof("Converted %d bytes", bytesConverted)
// Send the data we converted, even if there are no bytes.
topic.Publish(ctx, &pubsub.Message{
Data: stdout.Bytes(),
})
stdout.Reset()
}
}The
transcribe
service pulls messages from the queue at a rate of 1 every 3 seconds, helping to process the audio data at about the same rate as it’s being created. There are limits on the Speech API stream, it can’t be longer than 60 seconds so I stop the old stream and start a new one every 30 seconds so we never hit the limit, no matter how long the video call lasts for.This is how I’m transcribing it :
stream := prepareNewStream()
clipLengthTicker := time.NewTicker(30 * time.Second)
chunkLengthTicker := time.NewTicker(3 * time.Second)
cctx, cancel := context.WithCancel(context.TODO())
err := subscription.Receive(cctx, func(ctx context.Context, msg *pubsub.Message) {
select {
case <-clipLengthTicker.C:
log.Infof("Clip length reached.")
log.Infof("Closing stream and starting over")
err := stream.CloseSend()
if err != nil {
log.Fatalf("Could not close stream: %v", err)
}
go getResult(stream)
stream = prepareNewStream()
case <-chunkLengthTicker.C:
log.Infof("Chunk length reached.")
bytesConverted := len(msg.Data)
log.Infof("Received %d bytes\n", bytesConverted)
if bytesConverted > 0 {
if err := stream.Send(&speechpb.StreamingRecognizeRequest{
StreamingRequest: &speechpb.StreamingRecognizeRequest_AudioContent{
AudioContent: transcodedChunk.Data,
},
}); err != nil {
resp, _ := stream.Recv()
log.Errorf("Could not send audio: %v", resp.GetError())
}
}
msg.Ack()
}
})I think the problem is that my 3 second chunks don’t necessarily line up with starts and end of phrases or sentences so I suspect that the Speech API is a recurrent neural network which has been trained on full sentences rather than individual words. So starting a clip in the middle of a sentence loses some data because it can’t figure out the first few words up to the natural end of a phrase. Also, I lose some data in changing from an old stream to a new stream. There’s some context lost. I guess overlapping clips might help with this.
I have a couple of questions :
1) Does this architecture seem appropriate for my constraints (unknown length of audio stream, etc.) ?
2) What can I do to improve accuracy and minimise lost data ?
(Note I’ve simplified the examples for readability. Point out if anything doesn’t make sense because I’ve been heavy handed in cutting the examples down.)
-
Destreamer (FFMPEG / Youtube-DL) - Can't download video, Invalid DTS, Invalid timestamps message
1er avril 2020, par toprun91I'm using Destreamer a program that essentially lets you download microsoft stream videos by passing a key URL with a cookie down to Youtube-dl which then calls into ffmpeg.



Whenever I try to download a video using this program I get tons of repeating lines of text (errors ?) like this :



[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56400120, dts=56402820, size=6081
[mp4 @ 0000024876f525c0] Invalid DTS: 53717850 PTS: 53715150 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56406060, dts=56412090, size=6145
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56412090, dts=56414880, size=6515
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56406060, dts=56412090, size=6145
[mp4 @ 0000024876f525c0] Invalid DTS: 53727120 PTS: 53721090 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56412090, dts=56414880, size=6515
[mp4 @ 0000024876f525c0] Invalid DTS: 53729910 PTS: 53727120 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56418030, dts=56420820, size=6780
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56418030, dts=56420820, size=6780
[mp4 @ 0000024876f525c0] Invalid DTS: 53735850 PTS: 53733060 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56424060, dts=56430090, size=6668
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56430090, dts=56432880, size=6995
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56424060, dts=56430090, size=6668
[mp4 @ 0000024876f525c0] Invalid DTS: 53745120 PTS: 53739090 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56430090, dts=56432880, size=6995
[mp4 @ 0000024876f525c0] Invalid DTS: 53747910 PTS: 53745120 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56436120, dts=56442060, size=6342
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56442060, dts=56444850, size=6110
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56436120, dts=56442060, size=6342
[mp4 @ 0000024876f525c0] Invalid DTS: 53757090 PTS: 53751150 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56442060, dts=56444850, size=6110
[mp4 @ 0000024876f525c0] Invalid DTS: 53759880 PTS: 53757090 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56448090, dts=56454030, size=5750
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56454030, dts=56456820, size=6514
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56448090, dts=56454030, size=5750
[mp4 @ 0000024876f525c0] Invalid DTS: 53769060 PTS: 53763120 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56454030, dts=56456820, size=6514
[mp4 @ 0000024876f525c0] Invalid DTS: 53771850 PTS: 53769060 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56460060, dts=56466090, size=6843
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56466090, dts=56468880, size=7053
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56460060, dts=56466090, size=6843
[mp4 @ 0000024876f525c0] Invalid DTS: 53781120 PTS: 53775090 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56466090, dts=56468880, size=7053
[mp4 @ 0000024876f525c0] Invalid DTS: 53783910 PTS: 53781120 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56472120, dts=56478060, size=6297
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56478060, dts=56480850, size=6633
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56472120, dts=56478060, size=6297
[mp4 @ 0000024876f525c0] Invalid DTS: 53793090 PTS: 53787150 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56478060, dts=56480850, size=6633
[mp4 @ 0000024876f525c0] Invalid DTS: 53795880 PTS: 53793090 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56484090, dts=56490120, size=6026
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56490120, dts=56492820, size=6428
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56484090, dts=56490120, size=6026
[mp4 @ 0000024876f525c0] Invalid DTS: 53805150 PTS: 53799120 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56490120, dts=56492820, size=6428
[mp4 @ 0000024876f525c0] Invalid DTS: 53807850 PTS: 53805150 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56496060, dts=56502090, size=5738
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56502090, dts=56504880, size=5911
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56496060, dts=56502090, size=5738
[mp4 @ 0000024876f525c0] Invalid DTS: 53817120 PTS: 53811090 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56502090, dts=56504880, size=5911
[mp4 @ 0000024876f525c0] Invalid DTS: 53819910 PTS: 53817120 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56508030, dts=56514060, size=5860
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56514060, dts=56516850, size=6851
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56508030, dts=56514060, size=5860
[mp4 @ 0000024876f525c0] Invalid DTS: 53829090 PTS: 53823060 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56514060, dts=56516850, size=6851
[mp4 @ 0000024876f525c0] Invalid DTS: 53831880 PTS: 53829090 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56520090, dts=56526120, size=7342
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56526120, dts=56528820, size=7951
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56520090, dts=56526120, size=7342
[mp4 @ 0000024876f525c0] Invalid DTS: 53841150 PTS: 53835120 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56526120, dts=56528820, size=7951
[mp4 @ 0000024876f525c0] Invalid DTS: 53843850 PTS: 53841150 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56532060, dts=56538090, size=7998
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56538090, dts=56540790, size=8181
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56532060, dts=56538090, size=7998
[mp4 @ 0000024876f525c0] Invalid DTS: 53853120 PTS: 53847090 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56538090, dts=56540790, size=8181
[mp4 @ 0000024876f525c0] Invalid DTS: 53855820 PTS: 53853120 in output stream 0:0, replacing by guess
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56544030, dts=56550060, size=8707
[mpegts @ 0000024876dec540] Invalid timestamps stream=0, pts=56550060, dts=56552850, size=8878
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56544030, dts=56550060, size=8707
[mp4 @ 0000024876f525c0] Invalid DTS: 53865090 PTS: 53859060 in output stream 0:0, replacing by guess
[hls @ 000002487687c880] Invalid timestamps stream=0, pts=56550060, dts=56552850, size=8878
[mp4 @ 0000024876f525c0] Invalid DTS: 53867880 PTS: 53865090 in output stream 0:0, replacing by guess




This continues to fill the screen and scroll with the same type of lines of text and then after a couple of hours it does eventually download the video but without sound.



I am trying to work out why this is happening and why the video downloads without sound.



Some key information :



- 

- I am using windows + powershell but also experience the same thing on
Linux (Kubuntu)
- I am using the latest versions of FFMPEG, youtube-dl node.js
- The program (destreamer) brings up a chromium window to authenticate.
In the Chromium window the video doesn't actually play properly and
gives Error code 0x20400003 The video plays fine in all other
browsers I have including Edge, Chrome, and Firefox









Thanks for your help !