
Recherche avancée
Autres articles (101)
-
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 (...) -
Soumettre améliorations et plugins supplémentaires
10 avril 2011Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...) -
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)
Sur d’autres sites (12125)
-
Video files recorded in Google Chrome have stuttering audio
4 juin 2018, par maxpajBackground
I’m developing a platform where users can record videos of themselves or their screen and send them as video messages to customers / clients.
I have limited users to only using my application with Google Chrome and I’m using the MediaRecorder API to record the video data from the users screen or webcamera. The codecs that are used for recording are VP8/OPUS (WEBM container).
I need the videos to run in as many browsers as possible, so I’m using a 3rd party service to transcode videos from whatever format I’m getting from the users to a H.265/AAC MP4 container (caniuse MPEG-4/H.264).
Issue
Lately I’ve seen that some videos recorded on Mac OSX machines have the video and audio out of sync or that the video and audio stutters, depending on which player I’m using. I call these video files corrupt, for lack of a better word. Playing a corrupt file in Google Chrome renders smooth playing audio. Playing the video in VLC on my Windows machine renders stuttering audio.
When I run the corrupt video files through the transcoding service I get video files with stuttering audio, no matter which player I’m using.
This is an unwanted result and pretty much unacceptable since the audio needs to be smooth in order for the recipient of a video to not be bothered with the quality.
Debugging
According to the transcoding service support, this happens because of their mechanisms that try to sync up the audio and video from the corrupt file :
Inspecting our encoding logs, I’ve noticed the following kind of
warnings :[2018-05-16 14:08:38.009] [pcm_s16le @ 0x1d608c0] pcm_encode_frame :
filling in for 5856 missing samples (122 ms) before pts 40800 to
correct sync ! [2018-05-16 14:08:38.009] [pcm_s16le @ 0x1d608c0]
pcm_encode_frame : dropping 2880 samples (60 ms) at pts 43392 to help
correct sync to -3168 samples (-66 ms) !The problem here comes from the way that the audio in the original
source file is encoded.-
you should ensure that the audio is not out of sync (audio timestamps
are correct) in your source file before submitting the jobRunning a corrupt file through ffmpeg on my own machine, re-encoding with the same codecs, produces the same kind of stuttering video. The logs produce an alarming amount of errors. Here is a sample of the log output :
[libopus @ 0000029938e24d80] Queue input is backward in timeitrate= 194.8kbits/s dup=0 drop=5 speed=0.31x
[webm @ 0000029938e09b00] Non-monotonous DTS in output stream 0:1; previous: 15434, current: 15394; changing to 15434. This may result in incorrect timestamps in the output file.
[webm @ 0000029938e09b00] Non-monotonous DTS in output stream 0:1; previous: 15434, current: 15414; changing to 15434. This may result in incorrect timestamps in the output file.
[libopus @ 0000029938e24d80] Queue input is backward in timeitrate= 193.3kbits/s dup=0 drop=5 speed=0.309x
[webm @ 0000029938e09b00] Non-monotonous DTS in output stream 0:1; previous: 15539, current: 15499; changing to 15539. This may result in incorrect timestamps in the output file.
[webm @ 0000029938e09b00] Non-monotonous DTS in output stream 0:1; previous: 15539, current: 15519; changing to 15539. This may result in incorrect timestamps in the output file.
[libopus @ 0000029938e24d80] Queue input is backward in timeitrate= 192.0kbits/s dup=0 drop=5 speed=0.308x
[webm @ 0000029938e09b00] Non-monotonous DTS in output stream 0:1; previous: 15667, current: 15627; changing to 15667. This may result in incorrect timestamps in the output file.
[webm @ 0000029938e09b00] Non-monotonous DTS in output stream 0:1; previous: 15667, current: 15647; changing to 15667. This may result in incorrect timestamps in the output file.
[libopus @ 0000029938e24d80] Queue input is backward in timeI tried running the same inputs through another transcoding service and those outputs worked a lot better - video was still stuttering but the audio played smoothly, which is more important to the use case of my application.
To my knowledge, this have so far only occurred for users on Mac OSX machines.
Questions
-
Is there anything I can do to have the files work better ? Or is this entirely a consequence of how encoding of video and audio in Google Chrome works ?
-
One step in the right direction would be to just be able to detect when the video is corrupt. How can I do that ?
-
-
ffmpeg with -strict -2 : Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
8 juin 2018, par Bhumi ShahThis is my command
ffmpeg -i a.mp4 -asyncec libx264 -strict -2 -refs 6 -coder 1 -sc_threshold 40 -flags +loop -me_range 16 -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -trellis 1 -b:a 128k -pass 1 -profile:v baseline -level:v 3.0 -s 1080x1920 a.mp4
Here is the error i am getting
ffmpeg version N-46084-gcae004cab-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg
libavutil 56. 18.102 / 56. 18.102
libavcodec 58. 19.101 / 58. 19.101
libavformat 58. 13.102 / 58. 13.102
libavdevice 58. 4.100 / 58. 4.100
libavfilter 7. 22.100 / 7. 22.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'a.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2018-01-17T06:39:29.000000Z
Duration: 00:00:06.04, start: 0.000000, bitrate: 872 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 2160x3840, 534 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc (default)
Metadata:
creation_time : 2018-01-17T06:39:29.000000Z
handler_name : Alias Data Handler
encoder : AVC Coding
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)
Metadata:
creation_time : 2018-01-17T06:39:29.000000Z
handler_name : Alias Data Handler
File 'a.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x66327c0] frame MB size (68x120) > level limit (1620)
[libx264 @ 0x66327c0] DPB size (1 frames, 8160 mbs) > level limit (0 frames, 8100 mbs)
[libx264 @ 0x66327c0] MB rate (244800) > level limit (40500)
[libx264 @ 0x66327c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x66327c0] ratecontrol_init: can't open stats file
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed! -
ffmpeg h.246 plays locally in Safari, but not when hosted on s3 bucket
7 juin 2018, par Simon Rogersffmpeg h.246 plays locally in Safari, but not when hosted on s3 bucket.
I thought it was therefore a problem with S3, however a friend has sent me an
.mp4
of the same file converted with Zencoder’s service and this works perfectly, which surely means it must be a problem with my encoding settings in ffmpeg ?I’m using the settings recommended for maximum compatibility :
ffmpeg -an -i mov-input-02.mov -vcodec libx264 -filter:v scale="1400:trunc(ow/a/2)*2" -movflags +faststart -pix_fmt yuv420p -profile:v baseline mov-output-02-1400.mp4
Additionally, the
.webm
files I’m converting with ffmpeg all work perfectly in Chrome, Firefox, Opera etc.!I would really appreciate any thoughts.
The video that works from Zencoder has this metadata :
major_brand : isom
minor_version : 1
compatible_brands: isomavc1mp42
creation_time : 2018-06-01T11:24:54.000000Z
Duration: 00:00:10.97, start: 0.000000, bitrate: 396 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 1800x1200 [SAR 1:1 DAR 3:2], 394 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc (default)
Metadata:
creation_time : 2018-06-01T11:24:49.000000ZWhile my videos from ffmpeg which don’t work have this metadata :
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.12.100
Duration: 00:00:10.97, start: 0.000000, bitrate: 184 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1400x932 [SAR 699:700 DAR 3:2], 182 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
timecode : 00:00:00:01
Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
Metadata:
handler_name : TimeCodeHandler
timecode : 00:00:00:01
Unsupported codec with id 0 for input stream 1Here’s the full output from conversion :
Tempuras-iMac:2018.06.05 tempura$ ffmpeg -an -i mov-input-01.mov -vcodec l Tempuras-iMac:2018.06.05 tempura$ ffmpeg -an -i mov-input-02.mov -vcodec libx264 -filter:v scale="1400:trunc(ow/a/2)*2" -movflags +faststart -pix_fmt yuv420p -profile:v baseline -level 3 mov-output-02-1400.mp4
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
built with Apple LLVM version 8.1.0 (clang-802.0.42)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mov-input-02.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2018-05-09T09:59:58.000000Z
Duration: 00:00:10.97, start: 0.000000, bitrate: 114375 kb/s
Stream #0:0(eng): Video: qtrle (rle / 0x20656C72), rgb24(progressive), 2700x1800, 113610 kb/s, SAR 1:1 DAR 3:2, 30 fps, 30 tbr, 30 tbn, 30 tbc (default)
Metadata:
creation_time : 2018-05-09T09:59:58.000000Z
handler_name : Apple Alias Data Handler
encoder : Animation
timecode : 00:00:00:01
Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
Metadata:
creation_time : 2018-05-09T09:59:58.000000Z
handler_name : Apple Alias Data Handler
timecode : 00:00:00:01
Stream mapping:
Stream #0:0 -> #0:0 (qtrle (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x7fac39004200] using SAR=699/700
[libx264 @ 0x7fac39004200] frame MB size (88x59) > level limit (1620)
[libx264 @ 0x7fac39004200] MB rate (155760) > level limit (40500)
[libx264 @ 0x7fac39004200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7fac39004200] profile Constrained Baseline, level 3.0
[libx264 @ 0x7fac39004200] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 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=-2 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=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'mov-output-02-1400.mp4':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
encoder : Lavf58.12.100
Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1400x932 [SAR 699:700 DAR 3:2], q=-1--1, 0.03 fps, 15360 tbn, 30 tbc (default)
Metadata:
creation_time : 2018-05-09T09:59:58.000000Z
handler_name : Apple Alias Data Handler
timecode : 00:00:00:01
encoder : Lavc58.18.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
[mp4 @ 0x7fac39003000] Starting second pass: moving the moov atom to the beginning of the file
frame= 329 fps= 42 q=-1.0 Lsize= 248kB time=00:00:10.93 bitrate= 185.5kbits/s speed= 1.4x
video:245kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.042892%
[libx264 @ 0x7fac39004200] frame I:2 Avg QP:15.82 size: 34370
[libx264 @ 0x7fac39004200] frame P:327 Avg QP:16.88 size: 555
[libx264 @ 0x7fac39004200] mb I I16..4: 76.8% 0.0% 23.2%
[libx264 @ 0x7fac39004200] mb P I16..4: 0.5% 0.0% 0.2% P16..4: 0.7% 0.2% 0.1% 0.0% 0.0% skip:98.3%
[libx264 @ 0x7fac39004200] coded y,uvDC,uvAC intra: 14.3% 0.1% 0.1% inter: 0.2% 0.0% 0.0%
[libx264 @ 0x7fac39004200] i16 v,h,dc,p: 57% 39% 3% 0%
[libx264 @ 0x7fac39004200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 24% 20% 2% 3% 3% 2% 3% 1%
[libx264 @ 0x7fac39004200] i8c dc,h,v,p: 100% 0% 0% 0%
[libx264 @ 0x7fac39004200] kb/s:182.53