Recherche avancée

Médias (1)

Mot : - Tags -/sintel

Autres articles (11)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP 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 (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP 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 (...)

Sur d’autres sites (2734)

  • Conversion for WebM file format using FFMPEG

    23 mars 2012, par user974435

    I am using followng command to convert video to webm format

    ffmpeg -i video/ds2.mp4 -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b:a 345k -s 640x360 video/ds2.webm

    I am receiving following errors :

    1) incompatible sample format 's16' for codec 'libvorbis'

    2) strptime() unavailable on this system, cannot convert the data string

    Do you any idea why I cannot convert, tested conversion to FLV and it's working very well

    Console output

    C:\inetpub\wwwroot>ffmpeg -i video/testavi.avi video/ds2.webm
    ffmpeg version N-35709-g7d531e8, Copyright (c) 2000-2011 the FFmpeg developers
     built on Dec 12 2011 13:56:52 with gcc 4.6.2
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru
    ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libope
    ncore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --en
    able-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger -
    -enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwben
    c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-
    libxvid --enable-zlib
     libavutil    51. 32. 0 / 51. 32. 0
     libavcodec   53. 43. 0 / 53. 43. 0
     libavformat  53. 24. 0 / 53. 24. 0
     libavdevice  53.  4. 0 / 53.  4. 0
     libavfilter   2. 53. 0 /  2. 53. 0
     libswscale    2.  1. 0 /  2.  1. 0
     libpostproc  51.  2. 0 / 51.  2. 0
    Input #0, avi, from 'video/testavi.avi':
     Metadata:
       encoder         : Lavf51.12.1
     Duration: 00:00:13.03, start: 0.000000, bitrate: 36427 kb/s
       Stream #0:0: Video: msmpeg4 (MP43 / 0x3334504D), yuv420p, 1920x1080, 30 tbr,
    30 tbn, 30 tbc
       Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16, 192 kb
    /s
    File 'video/ds2.webm' already exists. Overwrite ? [y/N] y
    w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
    [libvpx @ 0000000001CA9BB0] v0.9.7-p1
    Output #0, webm, to 'video/ds2.webm':
     Metadata:
       encoder         : Lavf53.24.0
       Stream #0:0: Video: vp8, yuv420p, 1920x1080, q=-1--1, 200 kb/s, 1k tbn, 30 t
    bc
       Stream #0:1: Audio: vorbis, 44100 Hz, stereo, s16, 128 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (msmpeg4 -> libvpx)
     Stream #0:1 -> #0:1 (mp3 -> libvorbis)
    Press [q] to stop, [?] for help

    Problem signature:
     Problem Event Name:   APPCRASH
     Application Name: ffmpeg.exe
     Application Version:  0.0.0.0
     Application Timestamp:    4ee64f02
     Fault Module Name:    ffmpeg.exe
     Fault Module Version: 0.0.0.0
     Fault Module Timestamp:   4ee64f02
     Exception Code:   c0000005
     Exception Offset: 000000000091e090
     OS Version:   6.1.7601.2.1.0.272.7
     Locale ID:    1033
     Additional Information 1: ab8f
     Additional Information 2: ab8f35a907f8f11a8d2e787a8e40efbd
     Additional Information 3: f4d5
     Additional Information 4: f4d524f8bf76a4b71cc6a7afa6412ca9

    Read our privacy statement online:
     http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

    If the online privacy statement is not available, please read our privacy statement offline:
     C:\Windows\system32\en-US\erofflps.txt

    And Console Uncut Output

    C:\inetpub\wwwroot>ffmpeg.exe -i "video/testavi.avi" -acodec libvorbis -b:a 96k
    -ac 2 -vcodec libvpx -b:v 400k -f webm -s 384x216 "video/testavi.webm"
    ffmpeg version N-35709-g7d531e8, Copyright (c) 2000-2011 the FFmpeg developers
     built on Dec 12 2011 13:56:52 with gcc 4.6.2
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru
    ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libope
    ncore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --en
    able-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger -
    -enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwben
    c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-
    libxvid --enable-zlib
     libavutil    51. 32. 0 / 51. 32. 0
     libavcodec   53. 43. 0 / 53. 43. 0
     libavformat  53. 24. 0 / 53. 24. 0
     libavdevice  53.  4. 0 / 53.  4. 0
     libavfilter   2. 53. 0 /  2. 53. 0
     libswscale    2.  1. 0 /  2.  1. 0
     libpostproc  51.  2. 0 / 51.  2. 0
    Input #0, avi, from 'video/testavi.avi':
     Metadata:
       encoder         : Lavf51.12.1
     Duration: 00:00:13.03, start: 0.000000, bitrate: 36427 kb/s
       Stream #0:0: Video: msmpeg4 (MP43 / 0x3334504D), yuv420p, 1920x1080, 30 tbr,
    30 tbn, 30 tbc
       Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16, 192 kb
    /s
    [buffer @ 0000000001D7FF60] w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:0/1 sw
    s_param:
    [scale @ 0000000001D7E9E0] w:1920 h:1080 fmt:yuv420p -> w:384 h:216 fmt:yuv420p
    flags:0x4
    [libvpx @ 0000000001BF7C10] v0.9.7-p1
    Output #0, webm, to 'video/testavi.webm':
     Metadata:
       encoder         : Lavf53.24.0
       Stream #0:0: Video: vp8, yuv420p, 384x216, q=-1--1, 400 kb/s, 1k tbn, 30 tbc

       Stream #0:1: Audio: vorbis, 44100 Hz, 2 channels, s16, 96 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (msmpeg4 -> libvpx)
     Stream #0:1 -> #0:1 (mp3 -> libvorbis)
    Press [q] to stop, [?] for help
  • VB.NET FFMPEG Stops

    18 mars 2012, par Mcqueen_23

    Hi evryone i'm trying to convert files using ffmpeg

    my codes only fetched


    — -Skip--- Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Enrique Iglesias - Tonight.mp4' : Metadata : major_brand : mp42 minor_version : 0 compatible_brands : isommp42 creation_time : 2011-03-20 19:07:02 Duration : 00:03:50.05, start : 0.000000, bitrate : 219 kb/s Stream #0.0(und) : Video : h264, yuv420p, 480x360 [PAR 1:1 DAR 4:3], 117 kb/s, 29.97 fps, 59.75 tbr, 1k tbn, 59.83 tbc Metadata : creation_time : 1970-01-01 00:00:00 Stream #0.1(und) : Audio : aac, 44100 Hz, stereo, s16, 95 kb/s Metadata : creation_time : 2011-03-20 19:07:03 Output #0, mp3, to 'Enrique Iglesias - Tonight.mp3' : Metadata : major_brand : mp42 minor_version : 0 compatible_brands : isommp42 TDEN : 2011-03-20 19:07:02 TSSE : Lavf52.94.0 Stream #0.0(und) : Audio : libmp3lame, 44100 Hz, stereo, s16, 64 kb/s Metadata : creation_time : 2011-03-20 19:07:03

    and cannot i cannot get the next lines ung Proccess.ErrorDataReceived event

    Here are my Codes

       Public Structure ItemStruct
           Public ID, URL, FileName, FileExt, ConvertExt, ConvertQuery As String
           Public FileSize As Int64
           Public Method, status As Method
           Public prog_bar As ProgressBar
           Public DeleteOrigin, TrimStart, TrimEnd As Boolean
       End Structure

       Friend Class Converter
           Public busy As Boolean = False
           Private _Item As ItemStruct
           Public Event ProgressChange(ByVal id As String, ByVal percent As Integer, ByVal etr As TimeSpan)
           Public Event ConvertFinish(ByVal id As String)
           Private m As Threading.Thread
           Private WithEvents timer As New Timer With {.Interval = 100}

           Public Sub New()
           End Sub

           Public Sub New(ByVal item As ItemStruct)
               _Item = item
               m = New Threading.Thread(AddressOf Convert)
           End Sub

           Public Sub Start()
               m.Start()
               timer.Start()
           End Sub

           Private duration As Decimal = 0.0F
           Private current As Decimal = 0.0F
           Private varIsSet As Boolean = False
           Private Sub Convert()
               Dim cmd As String = _Item.ConvertQuery
               Dim inputName As String = _Item.URL
               Dim fName As String = _Item.FileName & _Item.FileExt
               Dim dir As String = _Item.URL.Replace(fName, "")
               Dim ouputName As String = dir & _Item.FileName & "." & _Item.ConvertExt
               cmd = Replace(cmd, "--i", inputName)
               cmd = Replace(cmd, "--o", ouputName)
               cmd = cmd.Remove(0, 6)
               cmd = cmd.Trim
               Dim proc As New Process
               With proc.StartInfo
                   .FileName = Path.Combine(Application.StartupPath, "ffmpeg.exe")
                   .Arguments = cmd
                   proc.EnableRaisingEvents = False
                   .UseShellExecute = False
                   .CreateNoWindow = True
                   .RedirectStandardError = True
                   .RedirectStandardOutput = True
                   .RedirectStandardInput = True
                   AddHandler proc.ErrorDataReceived, AddressOf UpdateData
                   proc.Start()
                   proc.BeginErrorReadLine()
               End With
           End Sub

           Public Sub Cancel()
               m.Abort()
           End Sub

           Private Sub UpdateData(ByVal sender As Object, ByVal e As DataReceivedEventArgs)
               Dim s As String = e.Data
               If s.Contains("Duration: ") Then
                   duration = GetDuration(s)
               ElseIf s.Contains("frame=") Then
                   current = GetTime(s)
               Else
                   Dim proc As Process = DirectCast(sender, Process)
                   Dim m As Match = Regex.Match(s, "^File\ '(.*?)'\ already\ exists", RegexOptions.IgnoreCase)
                   If m.Success Then
                       Dim w As StreamWriter = proc.StandardInput
                       If MessageBox.Show("File '" & m.Groups(1).ToString & "' already exists." & vbNewLine & "Do you want to Overwrite existing file?", "Overwrite", MessageBoxButtons.YesNo) = DialogResult.Yes Then
                           w.WriteLine("y")
                       Else
                           w.WriteLine("n")
                       End If
                   End If

                   'RaiseEvent ConvertFinish(_Item.ID)
                   'proc.WaitForExit()
                   'proc.Close()
               End If
               Debug.Print(s)
               If Not duration And Not current Then varIsSet = False Else varIsSet = True
           End Sub

           Private Function GetDuration(ByVal s As String) As Double
               Dim m As Match = Regex.Match(s, "Duration: ((.*?), (.*))")
               If m.Success Then
                   Dim duration As String = m.Groups(2).ToString
                   Return TimeSpan.Parse(duration).TotalSeconds
               End If
               Return Nothing
           End Function

           Private Function GetTime(ByVal s As String) As Double
               Dim m As Match = Regex.Match(s, "(.*) time=(.*) bitrate")
               If m.Success Then
                   Dim currentTime As String = m.Groups(2).ToString
                   Return TimeSpan.Parse(currentTime).TotalSeconds
               End If
               Return Nothing
           End Function

           Private Sub timer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles timer.Tick
               If varIsSet Then
                   Dim etr As TimeSpan = TimeSpan.FromSeconds(CInt(current / duration))
                   etr = New TimeSpan(etr.Hours, etr.Minutes, etr.Seconds)
                   RaiseEvent ProgressChange(_Item.ID, CInt((current / duration) * 100 * 100), etr)
               End If
           End Sub
       End Class
  • Finding Optimal Code Coverage

    7 mars 2012, par Multimedia Mike — Programming

    A few months ago, I published a procedure for analyzing code coverage of the test suites exercised in FFmpeg and Libav. I used it to add some more tests and I have it on good authority that it has helped other developers fill in some gaps as well (beginning with students helping out with the projects as part of the Google Code-In program). Now I’m wondering about ways to do better.

    Current Process
    When adding a test that depends on a sample (like a demuxer or decoder test), it’s ideal to add a sample that’s A) small, and B) exercises as much of the codebase as possible. When I was studying code coverage statistics for the WC4-Xan video decoder, I noticed that the sample didn’t exercise one of the 2 possible frame types. So I scouted samples until I found one that covered both types, trimmed the sample down, and updated the coverage suite.

    I started wondering about a method for finding the optimal test sample for a given piece of code, one that exercises every code path in a module. Okay, so that’s foolhardy in the vast majority of cases (although I was able to add one test spec that pushed a module’s code coverage from 0% all the way to 100% — but the module in question only had 2 exercisable lines). Still, given a large enough corpus of samples, how can I find the smallest set of samples that exercise the complete codebase ?

    This almost sounds like an NP-complete problem. But why should that stop me from trying to find a solution ?

    Science Project
    Here’s the pitch :

    • Instrument FFmpeg with code coverage support
    • Download lots of media to exercise a particular module
    • Run FFmpeg against each sample and log code coverage statistics
    • Distill the resulting data in some meaningful way in order to obtain more optimal code coverage

    That first step sounds harsh– downloading lots and lots of media. Fortunately, there is at least one multimedia format in the projects that tends to be extremely small : ANSI. These are files that are designed to display elaborate scrolling graphics using text mode. Further, the FATE sample currently deployed for this test (TRE_IOM5.ANS) only exercises a little less than 50% of the code in libavcodec/ansi.c. I believe this makes the ANSI video decoder a good candidate for this experiment.

    Procedure
    First, find a site that hosts a lot ANSI files. Hi, sixteencolors.net. This site has lots (on the order of 4000) artpacks, which are ZIP archives that contain multiple ANSI files (and sometimes some other files). I scraped a list of all the artpack names.

    In an effort to be responsible, I randomized the list of artpacks and downloaded periodically and with limited bandwidth ('wget --limit-rate=20k').

    Run ‘gcov’ on ansi.c in order to gather the full set of line numbers to be covered.

    For each artpack, unpack the contents, run the instrumented FFmpeg on each file inside, run ‘gcov’ on ansi.c, and log statistics including the file’s size, the file’s location (artpack.zip:filename), and a comma-separated list of line numbers touched.

    Definition of ‘Optimal’
    The foregoing procedure worked and yielded useful, raw data. Now I have to figure out how to analyze it.

    I think it’s most desirable to have the smallest files (in terms of bytes) that exercise the most lines of code. To that end, I sorted the results by filesize, ascending. A Python script initializes a set of all exercisable line numbers in ansi.c, then iterates through each each file’s stats line, adding the file to the list of candidate samples if its set of exercised lines can remove any line numbers from the overall set of lines. Ideally, that set of lines should devolve to an empty set.

    I think a second possible approach is to find the single sample that exercises the most code and then proceed with the previously described method.

    Initial Results
    So far, I have analyzed 13324 samples from 357 different artpacks provided by sixteencolors.net.

    Using the first method, I can find a set of samples that covers nearly 80% of ansi.c :

    <br />
    0 bytes: bad-0494.zip:5<br />
    1 bytes: grip1293.zip:-ANSI---.---<br />
    1 bytes: pur-0794.zip:.<br />
    2 bytes: awe9706.zip:-ANSI───.───<br />
    61 bytes: echo0197.zip:-(ART)-<br />
    62 bytes: hx03.zip:HX005.DAT<br />
    76 bytes: imp-0494.zip:IMPVIEW.CFG<br />
    82 bytes: ice0010b.zip:_cont'd_.___<br />
    101 bytes: bdp-0696.zip:BDP2.WAD<br />
    112 bytes: plain12.zip:--------.---<br />
    181 bytes: ins1295v.zip:-°VGA°-.  н<br />
    219 bytes: purg-22.zip:NEM-SHIT.ASC<br />
    289 bytes: srg1196.zip:HOWTOREQ.JNK<br />
    315 bytes: karma-04.zip:FASHION.COM<br />
    318 bytes: buzina9.zip:ox-rmzzy.ans<br />
    411 bytes: solo1195.zip:FU-BLAH1.RIP<br />
    621 bytes: ciapak14.zip:NA-APOC1.ASC<br />
    951 bytes: lght9404.zip:AM-TDHO1.LIT<br />
    1214 bytes: atb-1297.zip:TX-ROKL.ASC<br />
    2332 bytes: imp-0494.zip:STATUS.ANS<br />
    3218 bytes: acepak03.zip:TR-STAT5.ANS<br />
    6068 bytes: lgc-0193.zip:LGC-0193.MEM<br />
    16778 bytes: purg-20.zip:EZ-HIR~1.JPG<br />
    20582 bytes: utd0495.zip:LT-CROW3.ANS<br />
    26237 bytes: quad0597.zip:MR-QPWP.GIF<br />
    29208 bytes: mx-pack17.zip:mx-mobile-source-logo.jpg<br />
    ----<br />
    109440 bytes total<br />

    A few notes about that list : Some of those filenames are comprised primarily of control characters. 133t, and all that. The first file is 0 bytes. I wondered if I should discard 0-length files but decided to keep those in, especially if they exercise lines that wouldn’t normally be activated. Also, there are a few JPEG and GIF files in the set. I should point out that I forced the tty demuxer using -f tty and there isn’t much in the way of signatures for this format. So, again, whatever exercises more lines is better.

    Using this same corpus, I tried approach 2– which single sample exercises the most lines of the decoder ? Answer : blde9502.zip:REQUEST.EXE. Huh. I checked it out and ‘file’ ID’s it as a MS-DOS executable. So, that approach wasn’t fruitful, at least not for this corpus since I’m forcing everything through this narrow code path.

    Think About The Future
    Where can I take this next ? The cloud ! I have people inside the search engine industry who have furnished me with extensive lists of specific types of multimedia files from around the internet. I also see that Amazon Web Services Elastic Compute Cloud (AWS EC2) instances don’t charge for incoming bandwidth.

    I think you can see where I’m going with this.

    See Also :