Recherche avancée

Médias (1)

Mot : - Tags -/embed

Autres articles (42)

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

  • Pas question de marché, de cloud etc...

    10 avril 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

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

Sur d’autres sites (4022)

  • Sequencing MIDI From A Chiptune

    28 avril 2013, par Multimedia Mike — Outlandish Brainstorms

    The feature requests for my game music appreciation website project continue to pour in. Many of them take the form of “please add player support for system XYZ and the chiptune library to go with it.” Most of these requests are A) plausible, and B) in process. I have also received recommendations for UI improvements which I take under consideration. Then there are the numerous requests to port everything from Native Client to JavaScript so that it will work everywhere, even on mobile, a notion which might take a separate post to debunk entirely.

    But here’s an interesting request about which I would like to speculate : Automatically convert a chiptune into a MIDI file. I immediately wanted to dismiss it as impossible or highly implausible. But, as is my habit, I started pondering the concept a little more carefully and decided that there’s an outside chance of getting some part of the idea to work.

    Intro to MIDI
    MIDI stands for Musical Instrument Digital Interface. It’s a standard musical interchange format and allows music instruments and computers to exchange musical information. The file interchange format bears the extension .mid and contains a sequence of numbers that translate into commands separated by time deltas. E.g. : turn key on (this note, this velocity) ; wait x ticks ; turn key off ; wait y ticks ; etc. I’m vastly oversimplifying, as usual.

    MIDI fascinated me back in the days of dialup internet and discrete sound cards (see also my write-up on the Gravis Ultrasound). Typical song-length MIDI files often ranged from a few kilobytes to a few 10s of kilobytes. They were significantly smaller than the MOD et al. family of tracker music formats mostly by virtue of the fact that MIDI files aren’t burdened by transporting digital audio samples.

    I know I’m missing a lot of details. I haven’t dealt much with MIDI in the past… 15 years or so (ever since computer audio became a blur of MP3 and AAC audio). But I’m led to believe it’s still relevant. The individual who requested this feature expressed an interest in being able to import the sequenced data into any of the many music programs that can interpret .mid files.

    The Pitch
    To limit the scope, let’s focus on music that comes from the 8-bit Nintendo Entertainment System or the original Game Boy. The former features 2 square wave channels, a triangle wave, a noise channel, and a limited digital channel. The latter creates music via 2 square waves, a wave channel, and a noise channel. The roles that these various channels usually play typically break down as : square waves represent the primary melody, triangle wave is used to simulate a bass line, noise channel approximates a variety of percussive sounds, and the DPCM/wave channels are fairly free-form. They can have random game sound effects or, if they are to assist in the music, are often used for more authentic percussive sounds.

    The various channels are controlled via an assortment of memory-mapped hardware registers. These registers are fed values such as frequency, volume, and duty cycle. My idea is to modify the music playback engine to track when various events occur. Whenever a channel is turned on or off, that corresponds to a MIDI key on or off event. If a channel is already playing but a new frequency is written, that would likely count as a note change, so log a key off event followed by a new key on event.

    There is the major obstacle of what specific note is represented by a channel in a particular state. The MIDI standard defines 128 different notes spanning 11 octaves. Empirically, I wonder if I could create a table which maps the assorted frequencies to different MIDI notes ?

    I think this strategy would only work with the square and triangle waves. Noise and digital channels ? I’m not prepared to tackle that challenge.

    Prior Work ?
    I have to wonder if there is any existing work in this area. I’m certain that people have wanted to do this before ; I wonder if anyone has succeeded ?

    Just like reverse engineering a binary program entails trying to obtain a higher level abstraction of a program from a very low level representation, this challenge feels like reverse engineering a piece of music as it is being performed and automatically expressing it in a higher level form.

  • 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
  • ffmep merge multiple (N) mono audio channels of a MXF video to multiple (M) stereo channels of MP4 video

    13 février 2020, par Laura

    I have an MXF file with 16 audio mono streams and I need to recode it in a mp4 file with 2<=n<=16 channels merging input streams, e.g. input channels 1 and 2 on output channel 1 and 9 and 10 on output channel 2. This job will be done with ffmpeg. I read the documentation and found the amerge and amix filters that would be nice, but they output one channel only. Is there any solution for this problem ?

    Thanks,
    Laura

    Find below the output of ffprobe on mxf file :


    "streams" :[

    "index":0,
    "codec_name" :"mpeg2video",
    "codec_long_name" :"MPEG-2 video",
    "profile" :"4:2:2",
    "codec_type" :"video",
    "codec_time_base" :"1/25",
    "codec_tag_string" :"[0][0][0][0]",
    "codec_tag" :"0x0000",
    "width":1920,
    "height":1080,
    "coded_width":0,
    "coded_height":0,
    "has_b_frames":1,
    "sample_aspect_ratio" :"1:1",
    "display_aspect_ratio" :"16:9",
    "pix_fmt" :"yuv422p",
    "level":2,
    "color_range" :"tv",
    "color_space" :"bt709",
    "color_transfer" :"bt709",
    "color_primaries" :"bt709",
    "chroma_location" :"topleft",
    "field_order" :"tt",
    "refs":1,
    "r_frame_rate" :"25/1",
    "avg_frame_rate" :"25/1",
    "time_base" :"1/25",
    "start_pts":0,
    "start_time" :"0.000000",
    "duration_ts":448,
    "duration" :"17.920000",
    "bit_rate" :"50000000",
    "disposition" :
    "default":0,
    "dub":0,
    "original":0,
    "comment":0,
    "lyrics":0,
    "karaoke":0,
    "forced":0,
    "hearing_impaired":0,
    "visual_impaired":0,
    "clean_effects":0,
    "attached_pic":0,
    "timed_thumbnails":0
    ,
    "tags" :
    "file_package_umid" :"0x060A2B340101010501010D2313000000968F75C6B5B34D649967EEDD0076B989"

    ,

    "index":1,
    "codec_name" :"pcm_s24le",
    "codec_long_name" :"PCM signed 24-bit little-endian",
    "codec_type" :"audio",
    "codec_time_base" :"1/48000",
    "codec_tag_string" :"[0][0][0][0]",
    "codec_tag" :"0x0000",
    "sample_fmt" :"s32",
    "sample_rate" :"48000",
    "channels":1,
    "bits_per_sample":24,
    "r_frame_rate" :"0/0",
    "avg_frame_rate" :"0/0",
    "time_base" :"1/48000",
    "start_pts":0,
    "start_time" :"0.000000",
    "duration_ts":860160,
    "duration" :"17.920000",
    "bit_rate" :"1152000",
    "bits_per_raw_sample" :"24",
    "disposition" :
    "default":0,
    "dub":0,
    "original":0,
    "comment":0,
    "lyrics":0,
    "karaoke":0,
    "forced":0,
    "hearing_impaired":0,
    "visual_impaired":0,
    "clean_effects":0,
    "attached_pic":0,
    "timed_thumbnails":0
    ,
    "tags" :
    "file_package_umid" :"0x060A2B340101010501010D2313000000968F75C6B5B34D649967EEDD0076B989"

    ,

    "index":2,
    "codec_name" :"pcm_s24le",
    "codec_long_name" :"PCM signed 24-bit little-endian",
    "codec_type" :"audio",
    "codec_time_base" :"1/48000",
    "codec_tag_string" :"[0][0][0][0]",
    "codec_tag" :"0x0000",
    "sample_fmt" :"s32",
    "sample_rate" :"48000",
    "channels":1,
    "bits_per_sample":24,
    "r_frame_rate" :"0/0",
    "avg_frame_rate" :"0/0",
    "time_base" :"1/48000",
    "start_pts":0,
    "start_time" :"0.000000",
    "duration_ts":860160,
    "duration" :"17.920000",
    "bit_rate" :"1152000",
    "bits_per_raw_sample" :"24",
    "disposition" :
    "default":0,
    "dub":0,
    "original":0,
    "comment":0,
    "lyrics":0,
    "karaoke":0,
    "forced":0,
    "hearing_impaired":0,
    "visual_impaired":0,
    "clean_effects":0,
    "attached_pic":0,
    "timed_thumbnails":0
    ,
    "tags" :
    "file_package_umid" :"0x060A2B340101010501010D2313000000968F75C6B5B34D649967EEDD0076B989"

    ,

    "index":3,
    "codec_name" :"pcm_s24le",
    "codec_long_name" :"PCM signed 24-bit little-endian",
    "codec_type" :"audio",
    "codec_time_base" :"1/48000",
    "codec_tag_string" :"[0][0][0][0]",
    "codec_tag" :"0x0000",
    "sample_fmt" :"s32",
    "sample_rate" :"48000",
    "channels":1,
    "bits_per_sample":24,
    "r_frame_rate" :"0/0",
    "avg_frame_rate" :"0/0",
    "time_base" :"1/48000",
    "start_pts":0,
    "start_time" :"0.000000",
    "duration_ts":860160,
    "duration" :"17.920000",
    "bit_rate" :"1152000",
    "bits_per_raw_sample" :"24",
    "disposition" :
    "default":0,
    "dub":0,
    "original":0,
    "comment":0,
    "lyrics":0,
    "karaoke":0,
    "forced":0,
    "hearing_impaired":0,
    "visual_impaired":0,
    "clean_effects":0,
    "attached_pic":0,
    "timed_thumbnails":0
    ,
    "tags" :
    "file_package_umid" :"0x060A2B340101010501010D2313000000968F75C6B5B34D649967EEDD0076B989"

    ,

    "index":4,
    "codec_name" :"pcm_s24le",
    "codec_long_name" :"PCM signed 24-bit little-endian",
    "codec_type" :"audio",
    "codec_time_base" :"1/48000",
    "codec_tag_string" :"[0][0][0][0]",
    "codec_tag" :"0x0000",
    "sample_fmt" :"s32",
    "sample_rate" :"48000",
    "channels":1,
    "bits_per_sample":24,
    "r_frame_rate" :"0/0",
    "avg_frame_rate" :"0/0",
    "time_base" :"1/48000",
    "start_pts":0,
    "start_time" :"0.000000",
    "duration_ts":860160,
    "duration" :"17.920000",
    "bit_rate" :"1152000",
    "bits_per_raw_sample" :"24",
    "disposition" :
    "default":0,
    "dub":0,
    "original":0,
    "comment":0,
    "lyrics":0,
    "karaoke":0,
    "forced":0,
    "hearing_impaired":0,
    "visual_impaired":0,
    "clean_effects":0,
    "attached_pic":0,
    "timed_thumbnails":0
    ,
    "tags" :
    "file_package_umid" :"0x060A2B340101010501010D2313000000968F75C6B5B34D649967EEDD0076B989"

    ,

    "index":5,
    "codec_name" :"pcm_s24le",
    "codec_long_name" :"PCM signed 24-bit little-endian",
    "codec_type" :"audio",
    "codec_time_base" :"1/48000",
    "codec_tag_string" :"[0][0][0][0]",
    "codec_tag" :"0x0000",
    "sample_fmt" :"s32",
    "sample_rate" :"48000",
    "channels":1,
    "bits_per_sample":24,
    "r_frame_rate" :"0/0",
    "avg_frame_rate" :"0/0",
    "time_base" :"1/48000",
    "start_pts":0,
    "start_time" :"0.000000",
    "duration_ts":860160,
    "duration" :"17.920000",
    "bit_rate" :"1152000",
    "bits_per_raw_sample" :"24",
    "disposition" :
    "default":0,
    "dub":0,
    "original":0,
    "comment":0,
    "lyrics":0,
    "karaoke":0,
    "forced":0,
    "hearing_impaired":0,
    "visual_impaired":0,
    "clean_effects":0,
    "attached_pic":0,
    "timed_thumbnails":0
    ,
    "tags" :
    "file_package_umid" :"0x060A2B340101010501010D2313000000968F75C6B5B34D649967EEDD0076B989"

    ,

    "index":6,
    "codec_name" :"pcm_s24le",
    "codec_long_name" :"PCM signed 24-bit little-endian",
    "codec_type" :"audio",
    "codec_time_base" :"1/48000",
    "codec_tag_string" :"[0][0][0][0]",
    "codec_tag" :"0x0000",
    "sample_fmt" :"s32",
    "sample_rate" :"48000",
    "channels":1,
    "bits_per_sample":24,
    "r_frame_rate" :"0/0",
    "avg_frame_rate" :"0/0",
    "time_base" :"1/48000",
    "start_pts":0,
    "start_time" :"0.000000",
    "duration_ts":860160,
    "duration" :"17.920000",
    "bit_rate" :"1152000",
    "bits_per_raw_sample" :"24",
    "disposition" :
    "default":0,
    "dub":0,
    "original":0,
    "comment":0,
    "lyrics":0,
    "karaoke":0,
    "forced":0,
    "hearing_impaired":0,
    "visual_impaired":0,
    "clean_effects":0,
    "attached_pic":0,
    "timed_thumbnails":0
    ,
    "tags" :
    "file_package_umid" :"0x060A2B340101010501010D2313000000968F75C6B5B34D649967EEDD0076B989"

    ,

    "index":7,
    "codec_name" :"pcm_s24le",
    "codec_long_name" :"PCM signed 24-bit little-endian",
    "codec_type" :"audio",
    "codec_time_base" :"1/48000",
    "codec_tag_string" :"[0][0][0][0]",
    "codec_tag" :"0x0000",
    "sample_fmt" :"s32",
    "sample_rate" :"48000",
    "channels":1,
    "bits_per_sample":24,
    "r_frame_rate" :"0/0",
    "avg_frame_rate" :"0/0",
    "time_base" :"1/48000",
    "start_pts":0,
    "start_time" :"0.000000",
    "duration_ts":860160,
    "duration" :"17.920000",
    "bit_rate" :"1152000",
    "bits_per_raw_sample" :"24",
    "disposition" :
    "default":0,
    "dub":0,
    "original":0,
    "comment":0,
    "lyrics":0,
    "karaoke":0,
    "forced":0,
    "hearing_impaired":0,
    "visual_impaired":0,
    "clean_effects":0,
    "attached_pic":0,
    "timed_thumbnails":0
    ,
    "tags" :
    "file_package_umid" :"0x060A2B340101010501010D2313000000968F75C6B5B34D649967EEDD0076B989"

    ,

    "index":8,
    "codec_name" :"pcm_s24le",
    "codec_long_name" :"PCM signed 24-bit little-endian",
    "codec_type" :"audio",
    "codec_time_base" :"1/48000",
    "codec_tag_string" :"[0][0][0][0]",
    "codec_tag" :"0x0000",
    "sample_fmt" :"s32",
    "sample_rate" :"48000",
    "channels":1,
    "bits_per_sample":24,
    "r_frame_rate" :"0/0",
    "avg_frame_rate" :"0/0",
    "time_base" :"1/48000",
    "start_pts":0,
    "start_time" :"0.000000",
    "duration_ts":860160,
    "duration" :"17.920000",
    "bit_rate" :"1152000",
    "bits_per_raw_sample" :"24",
    "disposition" :
    "default":0,
    "dub":0,
    "original":0,
    "comment":0,
    "lyrics":0,
    "karaoke":0,
    "forced":0,
    "hearing_impaired":0,
    "visual_impaired":0,
    "clean_effects":0,
    "attached_pic":0,
    "timed_thumbnails":0
    ,
    "tags" :
    "file_package_umid" :"0x060A2B340101010501010D2313000000968F75C6B5B34D649967EEDD0076B989"


    ],
    "format" :
    "filename" :"/media-caches/video-essence/VIDEO/MXF-XDCAM_HD422@50Mbps1080i25_16Ch/941.mxf",
    "nb_streams":9,
    "nb_programs":0,
    "format_name" :"mxf",
    "format_long_name" :"MXF (Material eXchange Format)",
    "start_time" :"0.000000",
    "duration" :"17.920000",
    "size" :"135028296",
    "bit_rate" :"60280489",
    "probe_score":100,
    "tags" :
    "uid" :"0a9ef41a-36b4-4066-a8a3-b95f62299b6c",
    "generation_uid" :"e134647e-fea1-4673-91c1-afa277d13c00",
    "company_name" :"Sony",
    "product_name" :"MPC",
    "product_version" :"v1.0",
    "application_platform" :"Sony MXF Development Kit (Win32)",
    "product_uid" :"060e2b34-0401-0103-0e06-0120027f0200",
    "modification_date" :"2012-09-17T11:56:20.000000Z",
    "material_package_umid" :"0x060A2B340101010501010D231300000081C32F48A63347D4890F55D3ADC25B99",
    "timecode" :"00:35:30:08"