Recherche avancée

Médias (0)

Mot : - Tags -/performance

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (31)

  • L’utiliser, en parler, le critiquer

    10 avril 2011

    La première attitude à adopter est d’en parler, soit directement avec les personnes impliquées dans son développement, soit autour de vous pour convaincre de nouvelles personnes à l’utiliser.
    Plus la communauté sera nombreuse et plus les évolutions seront rapides ...
    Une liste de discussion est disponible pour tout échange entre utilisateurs.

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (5922)

  • Specifying audio/video for a multiple stream/multiple file setup using ffmpeg

    31 mai 2018, par Robert Smith

    Folks, I have the following ffmpeg command :

    ffmpeg
       -i video1a -i video2a -i video3a -i video4a
       -i video1b -i video2b -i video3b -i video4b
       -i video1c
       -filter_complex "
           nullsrc=size=640x480 [base];
           [0:v] setpts=PTS-STARTPTS+   0/TB, scale=320x240 [1a];
           [1:v] setpts=PTS-STARTPTS+ 300/TB, scale=320x240 [2a];
           [2:v] setpts=PTS-STARTPTS+ 400/TB, scale=320x240 [3a];
           [3:v] setpts=PTS-STARTPTS+ 400/TB, scale=320x240 [4a];
           [4:v] setpts=PTS-STARTPTS+2500/TB, scale=320x240 [1b];
           [5:v] setpts=PTS-STARTPTS+ 800/TB, scale=320x240 [2b];
           [6:v] setpts=PTS-STARTPTS+ 700/TB, scale=320x240 [3b];
           [7:v] setpts=PTS-STARTPTS+ 800/TB, scale=320x240 [4b];
           [8:v] setpts=PTS-STARTPTS+3000/TB, scale=320x240 [1c];
           [base][1a] overlay=eof_action=pass [o1];
           [o1][1b] overlay=eof_action=pass [o1];
           [o1][1c] overlay=eof_action=pass:shortest=1 [o1];
           [o1][2a] overlay=eof_action=pass:x=320 [o2];
           [o2][2b] overlay=eof_action=pass:x=320 [o2];
           [o2][3a] overlay=eof_action=pass:y=240 [o3];
           [o3][3b] overlay=eof_action=pass:y=240 [o3];
           [o3][4a] overlay=eof_action=pass:x=320:y=240[o4];
           [o4][4b] overlay=eof_action=pass:x=320:y=240"
       -c:v libx264 output.mp4

    I have just found out something regarding the files I will be processing with above command : that some mp4 files are video/audio, some mp4 files are audio alone and some mp4 files are video alone. I am already able to determine which ones have audio/video/both using ffprobe. My question is how do I modify above command to state what each file contains (video/audio/both).

    This is the scenario of which file has video/audio/both :

    video   time
    ======= =========
    Area 1:
    video1a    audio
    video1b     both
    video1c    video

    Area 2:
    video2a    video
    video2b    audio

    Area 3:
    video3a    video
    video3b    audio

    Area 4:
    video4a    video
    video4b    both

    My question is how to correctly modify command above to specify what the file has (audio/video/both). Thank you.

    Update #1

    I ran test as follows :

    -i "video1a.flv"
    -i "video1b.flv"
    -i "video1c.flv"
    -i "video2a.flv"
    -i "video3a.flv"
    -i "video4a.flv"
    -i "video4b.flv"
    -i "video4c.flv"
    -i "video4d.flv"
    -i "video4e.flv"

    -filter_complex

    nullsrc=size=640x480[base];
    [0:v]setpts=PTS-STARTPTS+120/TB,scale=320x240[1a];
    [1:v]setpts=PTS-STARTPTS+3469115/TB,scale=320x240[1b];
    [2:v]setpts=PTS-STARTPTS+7739299/TB,scale=320x240[1c];
    [5:v]setpts=PTS-STARTPTS+4390466/TB,scale=320x240[4a];
    [6:v]setpts=PTS-STARTPTS+6803937/TB,scale=320x240[4b];
    [7:v]setpts=PTS-STARTPTS+8242005/TB,scale=320x240[4c];
    [8:v]setpts=PTS-STARTPTS+9811577/TB,scale=320x240[4d];
    [9:v]setpts=PTS-STARTPTS+10765190/TB,scale=320x240[4e];
    [base][1a]overlay=eof_action=pass[o1];
    [o1][1b]overlay=eof_action=pass[o1];
    [o1][1c]overlay=eof_action=pass:shortest=1[o1];
    [o1][4a]overlay=eof_action=pass:x=320:y=240[o4];
    [o4][4b]overlay=eof_action=pass:x=320:y=240[o4];
    [o4][4c]overlay=eof_action=pass:x=320:y=240[o4];
    [o4][4d]overlay=eof_action=pass:x=320:y=240[o4];
    [o4][4e]overlay=eof_action=pass:x=320:y=240;
    [0:a]asetpts=PTS-STARTPTS+120/TB,aresample=async=1,apad[a1a];
    [1:a]asetpts=PTS-STARTPTS+3469115/TB,aresample=async=1,apad[a1b];
    [2:a]asetpts=PTS-STARTPTS+7739299/TB,aresample=async=1[a1c];
    [3:a]asetpts=PTS-STARTPTS+82550/TB,aresample=async=1,apad[a2a];
    [4:a]asetpts=PTS-STARTPTS+2687265/TB,aresample=async=1,apad[a3a];
    [a1a][a1b][a1c][a2a][a3a]amerge=inputs=5

    -c:v libx264 -c:a aac -ac 2 output.mp4

    This is the stream data from ffmpeg :

    Input #0
     Stream #0:0: Video: vp6f, yuv420p, 160x128, 1k tbr, 1k tbn
     Stream #0:1: Audio: nellymoser, 11025 Hz, mono, flt

    Input #1
     Stream #1:0: Audio: nellymoser, 11025 Hz, mono, flt
     Stream #1:1: Video: vp6f, yuv420p, 160x128, 1k tbr, 1k tbn

    Input #2
     Stream #2:0: Audio: nellymoser, 11025 Hz, mono, flt
     Stream #2:1: Video: vp6f, yuv420p, 160x128, 1k tbr, 1k tbn

    Input #3
     Stream #3:0: Audio: nellymoser, 11025 Hz, mono, flt

    Input #4
     Stream #4:0: Audio: nellymoser, 11025 Hz, mono, flt

    Input #5
     Stream #5:0: Video: vp6f, yuv420p, 1680x1056, 1k tbr, 1k tbn

    Input #6
     Stream #6:0: Video: vp6f, yuv420p, 1680x1056, 1k tbr, 1k tbn

    Input #7
     Stream #7:0: Video: vp6f, yuv420p, 1680x1056, 1k tbr, 1k tbn

    Input #8
     Stream #8:0: Video: vp6f, yuv420p, 1680x1056, 1k tbr, 1k tbn

    Input #9
     Stream #9:0: Video: vp6f, yuv420p, 1680x1056, 1k tbr, 1k tbn

    This is the error :

    Stream mapping:
     Stream #0:0 (vp6f) -> setpts
     Stream #0:1 (nellymoser) -> asetpts

     Stream #1:0 (nellymoser) -> asetpts
     Stream #1:1 (vp6f) -> setpts

     Stream #2:0 (nellymoser) -> asetpts
     Stream #2:1 (vp6f) -> setpts

     Stream #3:0 (nellymoser) -> asetpts

     Stream #4:0 (nellymoser) -> asetpts

     Stream #5:0 (vp6f) -> setpts

     Stream #6:0 (vp6f) -> setpts

     Stream #7:0 (vp6f) -> setpts

     Stream #8:0 (vp6f) -> setpts

     Stream #9:0 (vp6f) -> setpts

     overlay -> Stream #0:0 (libx264)
     amerge -> Stream #0:1 (aac)
    Press [q] to stop, [?] for help

    Enter command: <target>|all <time>|-1 <command>[ <argument>]

    Parse error, at least 3 arguments were expected, only 1 given in string 'ho Oscar'
    [Parsed_amerge_39 @ 0aa147c0] No channel layout for input 1
       Last message repeated 1 times
    [AVFilterGraph @ 05e01900] The following filters could not choose their formats: Parsed_amerge_39
    Consider inserting the (a)format filter near their input or output.
    Error reinitializing filters!
    Failed to inject frame into filter network: I/O error
    Error while processing the decoded data for stream #4:0
    Conversion failed!
    </argument></command></time></target>

    Update #2

    Would it be like this :

    -i "video1a.flv"
    -i "video1b.flv"
    -i "video1c.flv"
    -i "video2a.flv"
    -i "video3a.flv"
    -i "video4a.flv"
    -i "video4b.flv"
    -i "video4c.flv"
    -i "video4d.flv"
    -i "video4e.flv"

    -filter_complex

    nullsrc=size=640x480[base];
    [0:v]setpts=PTS-STARTPTS+120/TB,scale=320x240[1a];
    [1:v]setpts=PTS-STARTPTS+3469115/TB,scale=320x240[1b];
    [2:v]setpts=PTS-STARTPTS+7739299/TB,scale=320x240[1c];
    [5:v]setpts=PTS-STARTPTS+4390466/TB,scale=320x240[4a];
    [6:v]setpts=PTS-STARTPTS+6803937/TB,scale=320x240[4b];
    [7:v]setpts=PTS-STARTPTS+8242005/TB,scale=320x240[4c];
    [8:v]setpts=PTS-STARTPTS+9811577/TB,scale=320x240[4d];
    [9:v]setpts=PTS-STARTPTS+10765190/TB,scale=320x240[4e];
    [base][1a]overlay=eof_action=pass[o1];
    [o1][1b]overlay=eof_action=pass[o1];
    [o1][1c]overlay=eof_action=pass:shortest=1[o1];
    [o1][4a]overlay=eof_action=pass:x=320:y=240[o4];
    [o4][4b]overlay=eof_action=pass:x=320:y=240[o4];
    [o4][4c]overlay=eof_action=pass:x=320:y=240[o4];
    [o4][4d]overlay=eof_action=pass:x=320:y=240[o4];
    [o4][4e]overlay=eof_action=pass:x=320:y=240;
    [0:a]asetpts=PTS-STARTPTS+120/TB,aresample=async=1,pan=1c|c0=c0,apad[a1a];
    [1:a]asetpts=PTS-STARTPTS+3469115/TB,aresample=async=1,pan=1c|c0=c0,apad[a1b];
    [2:a]asetpts=PTS-STARTPTS+7739299/TB,aresample=async=1,pan=1c|c0=c0[a1c];
    [3:a]asetpts=PTS-STARTPTS+82550/TB,aresample=async=1,pan=1c|c0=c0,apad[a2a];
    [4:a]asetpts=PTS-STARTPTS+2687265/TB,aresample=async=1,pan=1c|c0=c0,apad[a3a];
    [a1a][a1b][a1c][a2a][a3a]amerge=inputs=5

    -c:v libx264 -c:a aac -ac 2 output.mp4

    Update #3

    Now getting this error :

    Stream mapping:
     Stream #0:0 (vp6f) -> setpts
     Stream #0:1 (nellymoser) -> asetpts
     Stream #1:0 (nellymoser) -> asetpts
     Stream #1:1 (vp6f) -> setpts
     Stream #2:0 (nellymoser) -> asetpts
     Stream #2:1 (vp6f) -> setpts
     Stream #3:0 (nellymoser) -> asetpts
     Stream #4:0 (nellymoser) -> asetpts
     Stream #5:0 (vp6f) -> setpts
     Stream #6:0 (vp6f) -> setpts
     Stream #7:0 (vp6f) -> setpts
     Stream #8:0 (vp6f) -> setpts
     Stream #9:0 (vp6f) -> setpts
     overlay -> Stream #0:0 (libx264)
     amerge -> Stream #0:1 (aac)
    Press [q] to stop, [?] for help

    Enter command: <target>|all <time>|-1 <command>[ <argument>]

    Parse error, at least 3 arguments were expected, only 1 given in string 'ho Oscar'
    [Parsed_amerge_44 @ 0a9808c0] No channel layout for input 1
    [Parsed_amerge_44 @ 0a9808c0] Input channel layouts overlap: output layout will be determined by the number of distinct input channels
    [Parsed_pan_27 @ 07694800] Pure channel mapping detected: 0
    [Parsed_pan_31 @ 07694a80] Pure channel mapping detected: 0
    [Parsed_pan_35 @ 0a980300] Pure channel mapping detected: 0
    [Parsed_pan_38 @ 0a980500] Pure channel mapping detected: 0
    [Parsed_pan_42 @ 0a980780] Pure channel mapping detected: 0
    [libx264 @ 06ad78c0] using SAR=1/1
    [libx264 @ 06ad78c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 06ad78c0] profile High, level 3.0
    [libx264 @ 06ad78c0] 264 - core 155 r2901 7d0ff22 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=15 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 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 'output.mp4':
     Metadata:
       canSeekToEnd    : false
       encoder         : Lavf58.16.100
       Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
       Metadata:
         encoder         : Lavc58.19.102 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 11025 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
         encoder         : Lavc58.19.102 aac
    ...
    ...
    Error while processing the decoded data for stream #1:1
    [libx264 @ 06ad78c0] frame I:133   Avg QP: 8.58  size:  6481
    [libx264 @ 06ad78c0] frame P:8358  Avg QP:17.54  size:  1386
    [libx264 @ 06ad78c0] frame B:24582 Avg QP:24.27  size:   105
    [libx264 @ 06ad78c0] consecutive B-frames:  0.6%  0.5%  0.7% 98.1%
    [libx264 @ 06ad78c0] mb I  I16..4: 78.3% 16.1%  5.6%
    [libx264 @ 06ad78c0] mb P  I16..4:  0.3%  0.7%  0.1%  P16..4:  9.6%  3.0%  1.4%  0.0%  0.0%    skip:84.9%
    [libx264 @ 06ad78c0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  2.9%  0.1%  0.0%  direct: 0.2%  skip:96.8%  L0:47.0% L1:49.0% BI: 4.0%
    [libx264 @ 06ad78c0] 8x8 transform intra:35.0% inter:70.1%
    [libx264 @ 06ad78c0] coded y,uvDC,uvAC intra: 36.8% 43.7% 27.3% inter: 1.6% 3.0% 0.1%
    [libx264 @ 06ad78c0] i16 v,h,dc,p: 79%  8%  4%  9%
    [libx264 @ 06ad78c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 20% 12%  3%  6%  8%  6%  5%  7%
    [libx264 @ 06ad78c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 38% 22%  9%  4%  6%  7%  5%  5%  4%
    [libx264 @ 06ad78c0] i8c dc,h,v,p: 62% 15% 16%  7%
    [libx264 @ 06ad78c0] Weighted P-Frames: Y:0.6% UV:0.5%
    [libx264 @ 06ad78c0] ref P L0: 65.4% 12.3% 14.3%  7.9%  0.0%
    [libx264 @ 06ad78c0] ref B L0: 90.2%  7.5%  2.3%
    [libx264 @ 06ad78c0] ref B L1: 96.3%  3.7%
    [libx264 @ 06ad78c0] kb/s:90.81
    [aac @ 06ad8480] Qavg: 65519.970
    [aac @ 06ad8480] 2 frames left in the queue on closing
    Conversion failed!
    </argument></command></time></target>
  • Bring back support for CommonJS

    19 juin 2018, par bbc2
    Bring back support for CommonJS
    

    Browserify, which follows CommonJS module conventions, parses the AST
    for `require` calls to determine the dependencies of a project.

    jQuery File Upload used to support this ; it was removed in
    e2cda462610c776a1f7856692c98b1baab02231a when a new version of
    jquery.ui.widget.js was vendored.

  • Game Music Appreciation, One Year Later

    1er août 2013, par Multimedia Mike — General

    I released my game music website last year about this time. It was a good start and had potential to grow in a lot of directions. But I’m a bit disappointed that I haven’t evolved it as quickly as I would like to. I have made a few improvements, like adjusting the play lengths of many metadata-less songs and revising the original atrocious design of the website using something called Twitter Bootstrap (and, wow, once you know what Bootstrap is, you start noticing it everywhere on the modern web). However, here are a few of the challenges that have slowed me down over the year :

    Problems With Native Client – Build System
    The technology which enables this project — Google’s Native Client (NaCl) — can be troublesome. One of my key frustrations with the environment is that every single revision of the NaCl SDK seems to adopt a completely new build system layout. If you want to port your NaCl project forward to newer revisions, you have to spend time wrapping your head around whatever the favored build system is. When I first investigated NaCl, I think it was using vanilla GNU Make. Then it switched to SCons. Then I forgot about NaCl for about a year and when I came back, the SDK had reverted back to GNU Make. While that has been consistent, the layout of the SDK sometimes changes and a different example Makefile shows the way.

    The very latest version of the API has required me to really overhaul the Makefile and to truly understand the zen of Makefile programming. I’m even starting to grasp the relationship it has to functional programming.

    Problems With Native Client – API Versions and Chrome Bugs
    I built the original Salty Game Music Player when NaCl API version 16 was current. By the time I published the v16 version, v19 was available. I made the effort to port forward (a few APIs had superfically changed, nothing too dramatic). However, when I would experiment with this new player, I would see intermittent problems on my Windows 7 desktop. Because of this, I was hesitant to make a new player release.

    Around the end of May, I started getting bug reports from site users that their Chrome browsers weren’t allowing them to activate the Salty Game Music Player — the upshot was that they couldn’t play music unless they manually flipped a setting in their browser configuration. It turns out that Chrome 27 introduced a bug that caused this problem. Not only that, but my player was one of only 2 known NaCl apps that used the problematic feature (the other was developed by the Google engineer who entered the bug).

    After feeling negligent for a long while about not doing anything to fix the bug, I made a concerted and creative effort to work around the bug and pushed out a new version of the player (based on API v25). My effort didn’t work and I had to roll it back somewhat (but still using the new player binaries). The bug was something that I couldn’t work around. However, at about the same time that I was attempting to do this, Google was rolling out Chrome 28 which fixed the bug, rendering my worry and effort moot.

    Problems With Native Client – Still Not In The Clear
    I felt reasonably secure about releasing the updated player since I couldn’t make my aforementioned problem occur on my Windows 7 setup anymore. I actually have a written test plan for this player, believe it or not. However, I quickly started receiving new bug reports from Windows users. Mostly, these are Windows 8 users. The player basically doesn’t work at all for them now. One user reports the problem on Windows 7 (and another on Windows 2008 Server, I think). But I can’t see it.

    I have a theory about what might be going wrong, but of course I’ll need to test it, and determine how to fix it.

    Database Difficulties
    The player is only half of the site ; the other half is the organization of music files. Working on this project has repeatedly reminded me of my fundamental lack of skill concerning databases. I have a ‘production’ database– now I’m afraid to do anything with it for fear of messing it up. It’s an an SQLite3 database, so it’s easy to make backups and to create a copy in order to test and debug a new script. Still, I feel like I’m missing an entire career path worth of database best practices.

    There is also the matter of ongoing database maintenance. There are graphical frontends for SQLite3 which make casual updates easier and obviate the need for anything more sophisticated (like a custom web app). However, I have a slightly more complicated database entry task that I fear will require, well, a custom web app in order to smoothly process hundreds, if not thousands of new song files (which have quirks which prohibit the easy mass processing I have been able to get away with so far).

    Going Forward
    I remain hopeful that I’ll gradually overcome these difficulties. I still love this project and I have received nothing but positive feedback over the past year (modulo the assorted recommendations that I port the entire player to pure JavaScript).

    You would think I would learn a lesson about building anything on top of a Google platform in the future, especially Native Client. Despite all this, I have another NaCl project planned.