Recherche avancée

Médias (0)

Mot : - Tags -/publication

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

Autres articles (58)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

Sur d’autres sites (8279)

  • FFMPEG Conversion Options [migrated]

    7 mars 2013, par Mike

    So, I've got some video files I want to convert so they match the formatting on another video file. I've got the format data (from ffprobe) for the video I want to match but I'm not sure how to use that to determine the options to convert my other videos. Any help ?

    Here are the settings on the file I want to match from ffprobe :

       Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip #19.mov':
         Metadata:
           major_brand     : qt  
           minor_version   : 537199360
           compatible_brands: qt  
           creation_time   : 2013-03-05 22:27:26
         Duration: 00:15:00.00, start: 0.000000, bitrate: 119406 kb/s
           Stream #0:0(eng): Video: prores (apcn / 0x6E637061), yuv422p10le, 1440x1080, 117804 kb/s, SAR 4:3 DAR 16:9, 29.97 fps, 29.97 tbr, 2997 tbn, 2997 tbc
           Metadata:
             creation_time   : 2013-03-05 22:27:26
             handler_name    : Apple Alias Data Handler
             timecode        : 00:00:00;00
           Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, 2 channels, s16, 1536 kb/s
           Metadata:
             creation_time   : 2013-03-05 22:27:26
             handler_name    : Apple Alias Data Handler
           Stream #0:2(eng): Data: none (tmcd / 0x64636D74)
           Metadata:
             creation_time   : 2013-03-05 22:27:26
             handler_name    : Apple Alias Data Handler
             timecode        : 00:00:00;00
       Unsupported codec with id 0 for input stream 2

    Any help would be greatly appreciated. Thanks.

  • drawbox don't work on remote server and works on local

    5 décembre 2015, par efpies

    I’ve got a completely weird problem.

    I need to draw the text over the filled rectangle. The problem is that the command line command that work on my local machine don’t work on the server ! To be precise, only drawbox command don’t work.

    Here’s the command.

    ffmpeg -i shake.mp4 -vf "scale=300:150,setsar=1/1,drawbox=w=300: h=16: x=0: y=134: color=0x1a5757: t=1000000,drawtext=x=5: y=136: fontfile=Arial.ttf: text='fdsf': fontcolor=0xd44e4e"  -c:v h264 -preset medium -b:v 256k  -f mp4 shake_conv.mp4

    Clarification

    It seems, that my question is unclear. Ok, here’s clarification.

    I need to draw the text over the filled rectangle.

    It means, that, at first, I have a video. Then I would like to draw a bar at the [0 ; 134] with width 300px and height 16px, painted with #1A5757 color. And over that bar should be placed a text.

    The problem is that the command line command that work on my local machine don’t work on the server !

    It means that I have 2 environments : local machine (my Mac OS X 10.9.2 with ffmpeg 2.0.2 installed) and the server (Debian 7 with ffmpeg 1.0.8 installed. Quite old, dunno, but no errors were in this case ; can’t find any info about version dependency).

    The last part,

    the command line command that work on my local machine don’t work on the server

    To be precise, only drawbox command don’t work.

    means that the same command above draws the bar I need in my local environment but don’t draw it on the server side. The text is drawed correctly in both cases. One more time : the text is drawed, the bar isn’t drawed. That’s my problem. I need a bar over the video. And there aren’t any bars when I execute this command on server.

    Now, I hope, this is quite clear.

    Here’s the output.

    ffmpeg version 1.0.8 Copyright (c) 2000-2013 the FFmpeg developers
     built on Sep 12 2013 11:57:09 with gcc 4.7 (Debian 4.7.2-5)
     configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libfdk-aac --enable-libdc1394 --disable-altivec --dis  libavutil      51. 73.101 / 51. 73.101
     libavcodec     54. 59.100 / 54. 59.100
     libavformat    54. 29.104 / 54. 29.104
     libavdevice    54.  2.101 / 54.  2.101
     libavfilter     3. 17.100 /  3. 17.100
     libswscale      2.  1.101 /  2.  1.101
     libswresample   0. 15.100 /  0. 15.100
     libpostproc    52.  0.100 / 52.  0.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'shake.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       creation_time   : 1970-01-01 00:00:00
       encoder         : Lavf52.40.0
     Duration: 00:00:29.24, start: 0.000000, bitrate: 2243 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 2111 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 127 kb/s
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : SoundHandler
    File 'llll.mp4' already exists. Overwrite ? [y/N] y
    using SAR=1/1
    [libx264 @ 0x229e7a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x229e7a0] profile High, level 1.3
    [libx264 @ 0x229e7a0] 264 - core 132 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - 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=12 lookahead_threads=1 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=abr mbtree=1 bitrate=256 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'llll.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf54.29.104
       Stream #0:0(und): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 300x150 [SAR 1:1 DAR 2:1], q=-1--1, 256 kb/s, 25 tbn, 25 tbc
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : SoundHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 -> libx264)
     Stream #0:1 -> #0:1 (aac -> libfaac)
    Press [q] to stop, [?] for help
    SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] channel element 1.15 is not allocated
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] TYPE_FIL: Input buffer exhausted before END element found
    Error while decoding stream #0:1: Operation not permitted
    Multiple frames in a packet from stream 1
    [aac @ 0x228d5c0] channel element 3.11 is not allocated
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    [aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
    Error while decoding stream #0:1: Operation not permitted
    frame=  731 fps=244 q=32766.0 Lsize=    1497kB time=00:00:29.16 bitrate= 420.6kbits/s    
    video:1028kB audio:447kB subtitle:0 global headers:0kB muxing overhead 1.533339%
    [libx264 @ 0x229e7a0] frame I:5     Avg QP:27.90  size:  6997
    [libx264 @ 0x229e7a0] frame P:578   Avg QP:28.74  size:  1732
    [libx264 @ 0x229e7a0] frame B:148   Avg QP:25.26  size:   107
    [libx264 @ 0x229e7a0] consecutive B-frames: 59.5% 40.5%  0.0%  0.0%
    [libx264 @ 0x229e7a0] mb I  I16..4: 25.6%  9.1% 65.4%
    [libx264 @ 0x229e7a0] mb P  I16..4:  2.1%  1.1%  3.8%  P16..4: 12.3% 15.3% 15.6%  0.0%  0.0%    skip:49.7%
    [libx264 @ 0x229e7a0] mb B  I16..4:  0.8%  0.0%  0.0%  B16..8: 17.6%  3.3%  0.9%  direct: 0.5%  skip:76.9%  L0:39.7% L1:57.5% BI: 2.8%
    [libx264 @ 0x229e7a0] final ratefactor: 26.03
    [libx264 @ 0x229e7a0] 8x8 transform intra:14.3% inter:23.4%
    [libx264 @ 0x229e7a0] coded y,uvDC,uvAC intra: 54.1% 68.9% 58.9% inter: 17.7% 19.5% 10.0%
    [libx264 @ 0x229e7a0] i16 v,h,dc,p: 58% 33%  5%  4%
    [libx264 @ 0x229e7a0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 12% 22%  6%  6%  8%  7%  9% 10%
    [libx264 @ 0x229e7a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 19% 20%  5%  5%  7%  8%  6%  6%
    [libx264 @ 0x229e7a0] i8c dc,h,v,p: 50% 25% 19%  6%
    [libx264 @ 0x229e7a0] Weighted P-Frames: Y:2.6% UV:1.7%
    [libx264 @ 0x229e7a0] ref P L0: 70.2% 11.0% 10.1%  8.5%  0.1%
    [libx264 @ 0x229e7a0] ref B L0: 94.3%  5.7%
    [libx264 @ 0x229e7a0] kb/s:287.75
  • Using ffmpeg with Python 2.7

    1er juillet 2015, par suffa

    I have been trying to install pyffmpeg in Python 2.7 unsuccessfully. I found a package for Python 2.6, but I can’t get it to work. So, I have been mulling around with 2.7. I’ve seen previous post from others on this site, but they have not helped. Does anyone have experience with this. Ultimately, I want to develop an wxPython app that converts video formats. Thanks

    Code that I ultimately wrote that worked for me (very rudimentary, but it works ....) :

    import wx
    import os
    import sys
    import time
    import datetime
    from wx.lib.delayedresult import startWorker



    class dConvert(wx.Frame):
       def __init__(self):
           wx.Frame.__init__(self, None, -1, 'd-Converter', size=(500, 310))
           panel = wx.Panel(self, wx.ID_ANY)#Creates a panel over the widget
           toolbar = self.CreateToolBar()
           toolbar.Realize()

           #Setup Menu
           #Setting up Menu
           menuFile = wx.Menu()
           menuFile.Append(1, "&About...")
           menuFile.AppendSeparator()
           menuFile.Append(2, "E&xit")
           menuBar = wx.MenuBar()
           menuBar.Append(menuFile, "&File")

           panel.SetBackgroundColour('WHITE')

           menu2 = wx.Menu()
           menu2.Append(5, "&.mpg to dvd", ".mpg to dvd")
           menu2.AppendSeparator()
           menu2.Append(wx.NewId(), "&Options...", "Options...")
           menuBar.Append(menu2, "&DVD")


           menu3 = wx.Menu()
           menu3.Append(7, "&Audio/Video Trim")
           #menu3.AppendSeparator()
           menuBar.Append(menu3, "Media")

           self.SetMenuBar(menuBar)
           self.Bind(wx.EVT_MENU, self.OnAbout, id=1)
           self.Bind(wx.EVT_MENU, self.OnQuit, id=2)
           self.Bind(wx.EVT_MENU, self.OnDVD, id=5)
           self.Bind(wx.EVT_MENU, self.OnMedia, id=7)

           #Add icon to frame
           iconFile = "dconverter_image.jpg"
           icon1 = wx.Icon(iconFile, wx.BITMAP_TYPE_JPEG)
           self.SetIcon(icon1)


           self.statusbar = self.CreateStatusBar()
           self.statusbar.SetStatusText("Convert Audio & Video")
           self.statusbar.SetFieldsCount(3)
           self.statusbar.SetStatusWidths([200, -2, -2])



           #Panel Text
           font = wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.BOLD)
           font2 = wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.BOLD)

           directory = wx.StaticText(panel, -1, 'Path: c:\\ffmpeg\\bin', (300, 13))
           directory.SetFont(font2)

           convertfile = wx.StaticText(panel, -1, 'File:', (270, 53))
           convertfile.SetFont(font)

           convertfile2 = wx.StaticText(panel, -1, 'Format:', (245, 83))
           convertfile2.SetFont(font)

           convertfile3 = wx.StaticText(panel, -1, 'Quality:', (244, 113))
           convertfile3.SetFont(font)

           convertfile4 = wx.StaticText(panel, -1, 'Presets:', (239, 143))
           convertfile4.SetFont(font)

           image_file = 'cd_rom.gif'
           bmp1 = wx.Image(image_file, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
           panel.bitmap1 = wx.StaticBitmap(panel, -1, bmp1, (50, 30))



           self.formats1 = []


           #Select Media path    
           os.chdir("c:\\ffmpeg\\bin")
           wrkdir = os.getcwd()
           filelist = os.listdir(wrkdir)
           #self.formats1 = []

           for filename in filelist:
               (head, filename) = os.path.split(filename)
               if filename.endswith(".avi") or filename.endswith(".mp4") or filename.endswith(".mpg") or filename.endswith(".m4A") or filename.endswith(".MTS") or filename.endswith(".flv") or filename.endswith(".mov") or filename.endswith(".mpeg4") or filename.endswith(".mpeg") or filename.endswith(".mpg2") or filename.endswith(".mkv") or filename.endswith(".m4v") or filename.endswith(".wav") or filename.endswith(".mp3"):
               self.formats1.append(filename)


           self.format_combo1=wx.ComboBox(panel, size=(140, -1),value='Select Media', choices=self.formats1, style=wx.CB_DROPDOWN, pos=(300,50))
           self.Bind(wx.EVT_COMBOBOX, self.fileFormats, self.format_combo1)


           #Media Formats
           self.formats2 = ['Select Format', '.avi','.mpeg','.mp4','.flv','.mov','.m4a','.m4v','.mkv','.mpeg4','.mpg','.mpg2','.mp3','.ogg','.wav','.wma']

           self.format_combo2=wx.ComboBox(panel, size=(100, -1),value='Select Format', choices=self.formats2, style=wx.CB_SORT, pos=(300,81))

           #Media Quality
           self.formats3 = ['-sameq','-qmax']
           self.format_combo3=wx.ComboBox(panel, size=(100, -1),value='Select Quality', choices=self.formats3, style=wx.CB_DROPDOWN, pos=(300,111))



           #-qmax settings
           self.formats4 = ['1','2','3','4','5','6','7','8']
           self.format_combo4=wx.ComboBox(panel, size=(30, -1),value='0', choices=self.formats4, style=wx.CB_DROPDOWN, pos=(405,111))
           self.format_combo4.Disable()


           #Media Quality
           self.formats5 = ['Select Preset','video to mp3']
           self.format_combo5=wx.ComboBox(panel, size=(100, -1),value='Select Preset', choices=self.formats5, style=wx.CB_DROPDOWN, pos=(300,141))

           #Bit rate
           self.formats6 = ['128000', '160000', '180000', '192000']
           self.format_combo6=wx.ComboBox(panel, size=(47, -1),value='k/bs', choices=self.formats6, style=wx.CB_DROPDOWN, pos=(405,141))
           self.format_combo6.Disable()






           #Convert Button
           self.button = wx.Button(panel, label="Convert", pos=(300, 171), size=(80, 20))
           self.Bind(wx.EVT_BUTTON, self.convertButton, self.button)

           #Abort Button
           self.button2 = wx.Button(panel, label="Abort", pos=(385, 171), size=(80, 20))
           self.Bind(wx.EVT_BUTTON, self.OnAbortButton, self.button2)
           self.button2.Disable()

           #Refresh Button
           self.button3 = wx.Button(panel, label="Refresh", pos=(215, 171), size=(80, 20))
           self.Bind(wx.EVT_BUTTON, self.file_refresh, self.button3)


           #ComboBox Event
           self.Bind(wx.EVT_COMBOBOX, self.OncomboBox, self.format_combo3)
           self.Bind(wx.EVT_COMBOBOX, self.OncomboBox2, self.format_combo5)
           self.Bind(wx.EVT_COMBOBOX, self.OncomboBox3, self.format_combo2)



       def file_refresh(self, e):
           self.format_combo1.Clear()
           os.chdir("c:\\ffmpeg\\bin")
           wrkdir = os.getcwd()
           filelist = os.listdir(wrkdir)
           for m_files in filelist:
               if m_files.endswith(".avi") or m_files.endswith(".mp4") or m_files.endswith(".mpg") or m_files.endswith(".m4A") or m_files.endswith(".MTS") or m_files.endswith(".flv") or m_files.endswith(".mov") or m_files.endswith(".mpeg4") or m_files.endswith(".mpeg") or m_files.endswith(".mpg2") or m_files.endswith(".mkv") or m_files.endswith(".m4v") or m_files.endswith(".wav") or m_files.endswith(".mp3"):
               self.format_combo1.Append(m_files)



       def file_rename(self, f_name):
           ts = time.time()
           #Capture readable timestamp
           st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d_%H-%M-%S')
           os.chdir("c:\\ffmpeg\\bin")
           wrkdir = os.getcwd()

           #get file extenstion from original file
           #fileName, fileExtension = os.path.splitext(wrkdir + '\\' + f_name)

           #add file extension to timestamp
           new_file = st

           return new_file



       def fileFormats(self, e):
           myFormats = {'audio': ('Select Format', '.m4a', '.mp3', '.ogg', '.wav', '.wma'), 'video': ('Select Format', '.avi', '.flv', '.mkv', '.m4v', '.mov', '.mpg', '.mpg2', '.mpeg4', '.mp4', '.mpeg')}
           bad_file = ['Media not supported']
           myFile = self.format_combo1.GetValue()
           f_exten = (x for x in myFormats['audio'] + myFormats['video'] if myFile.endswith(x))
       extension = f_exten.next()

           if extension in myFormats['audio']:
               self.format_combo2.SetItems(myFormats['audio'])

           elif extension in myFormats['video']:
               self.format_combo2.SetItems(myFormats['video'])
           else:
               self.format_combo2.SetItems(bad_file)


       def OnQuit(self, event):
           self.Close(True)

       def OnAbout(self, event):
           wx.MessageBox("d-Converter 1.0\n\n Developer: D.Monroe\n\nCopyright 2012",
                   "About d-Converter", wx.OK | wx.ICON_INFORMATION, self)


       def OncomboBox(self, e):
           quality=self.format_combo3.GetValue()
           if quality == '-qmax':
               self.format_combo4.Enable()

           else:
               self.format_combo4.Disable()



       def OncomboBox2(self, e):
           quality=self.format_combo5.GetValue()
           if quality != 'Select Preset':
               self.format_combo1.Enable()
               self.format_combo2.Disable()
               self.format_combo3.Disable()
               self.format_combo4.Disable()
               self.format_combo6.Enable()

           elif quality == 'Select Preset':
               self.format_combo1.Enable()
               self.format_combo2.Enable()
               self.format_combo3.Enable()
               self.format_combo4.Disable()
               self.format_combo5.Enable()
               self.format_combo6.Disable()

           elif quality == 'video to mp3':
               self.format_combo6.Enable()
               self.format_combo2.Disable()
               self.format_combo3.Disable()
               self.format_combo4.Disable()

       def OncomboBox3(self, e):
           v_format=self.format_combo2.GetValue()
           if v_format != 'Select Format':
               self.format_combo1.Enable()
               self.format_combo2.Enable()
               self.format_combo3.Enable()
               self.format_combo4.Enable()
               self.format_combo5.Disable()
               self.format_combo6.Disable()

           elif v_format == 'Select Format':
               self.format_combo1.Enable()
               self.format_combo2.Enable()
               self.format_combo3.Enable()
               self.format_combo4.Disable()
               self.format_combo5.Enable()
               self.format_combo6.Disable()





       def OnMedia(self, e):
           pass

       def OnDVD(self, e):
           """ Select a directory to search"""
           os.chdir("c:\\ffmpeg\\bin")
           wrkdir = os.getcwd()
           filelist = os.listdir(wrkdir)
           progdir = 'c:\\ffmpeg\\bin\\ffmpeg.exe' + ' -i '
           prog_dir = ' -target '
           progdir3 = '-dvd -ac 2 '
           vid_format = '.mpg'


           sampleList = []
           for filename in filelist:
              (head, filename) = os.path.split(filename)
              if filename.endswith(".avi") or filename.endswith(".flv") or filename.endswith(".mpeg") or filename.endswith(".mp4") or filename.endswith(".mov") or filename.endswith(".mpg2"):
               sampleList.append(filename)

           dlg = wx.SingleChoiceDialog(
                  self, "Files in c:\\ffmpeg\\bin", 'Select video to convert',
              sampleList,
              wx.CHOICEDLG_STYLE
              )

           if dlg.ShowModal() == wx.ID_OK:
               cur_item = dlg.GetStringSelection()
               s_string = cur_item
               #f_string = self.file_rename(s_string)
               f_string = s_string.replace(' ', '')





           dlg.Destroy()


           dlg2 = wx.SingleChoiceDialog(
                  self, "Files in c:\\ffmpeg\\bin", 'Select video standard ',
              ["pal", "ntsc"],
              wx.CHOICEDLG_STYLE
              )

           if dlg2.ShowModal() == wx.ID_OK:
               cur_item2 = dlg2.GetStringSelection()
               s_string2 = cur_item2
               self.button.Disable()
               self.button2.Enable()
               self.format_combo1.Disable()
               self.format_combo2.Disable()
               self.format_combo3.Disable()
               self.format_combo4.Disable()
               self.format_combo5.Disable()
               self.format_combo6.Disable()
               startWorker(self.LongTaskDone, self.LongTask4, wargs=(progdir, wrkdir, prog_dir, progdir3, f_string, s_string2, vid_format))


           dlg2.Destroy()






       def convertButton(self, e):
           unit1 = self.format_combo1.GetValue()
           unit2 = self.format_combo2.GetValue()
           unit3 = self.format_combo3.GetValue()
           unit4 = None
           unit5 = self.format_combo5.GetValue()
           bitRate = self.format_combo6.GetValue()
           unit6 = bitRate
           if unit3 == '-qmax':
               unit4 = self.format_combo4.GetValue()
           else:
               pass

           os.chdir("c:\\ffmpeg\\bin")
           wrkdir = os.getcwd()

           newfile = unit1



           #stripped = os.path.splitext(newfile)[0] # Updated 9/26/2013 to strip extension.
           #stripped = newfile.strip('mpeg3kaviovfl4w2c.') #Strips the extension from the original file name
           stripped = self.file_rename(newfile)

           #os.rename(newfile, newfile_f)



           progname='c:\\ffmpeg\\bin\\ffmpeg.exe' + ' -i '

           preset1_a='-vn -ar 44100 -ac 2 -ab'
           preset1_b='-f mp3 '
           preset_mp3='.mp3'







            if (unit1 == 'Select Media' or unit1 == ''):
                       amsg = wx.MessageDialog(None, 'You must select a media file!', 'Media Converter', wx.ICON_INFORMATION)
                       amsg.ShowModal()
                       amsg.Destroy()



            elif (unit1 != 'Select Media' or unit1 != '') and (unit5 == 'Select Preset'):

                if (unit2 == 'Select Format' or unit2 == ''):
                   amsg = wx.MessageDialog(None, 'You must select a format', 'Media Converter', wx.ICON_INFORMATION)
                   amsg.ShowModal()
                   amsg.Destroy()

                   self.format_combo3.Enable()
                   self.format_combo4.Enable()
                   self.format_combo5.Enable()

               else:
                   pass

               if (unit3 == 'Select Quality' or unit3 == ''):
                   amsg = wx.MessageDialog(None, 'You must select quality', 'Media Converter', wx.ICON_INFORMATION)
                   amsg.ShowModal()
                   amsg.Destroy()


               elif (unit3 == '-qmax'):
                   if (unit4 == '0' or unit4 == ''):
                       amsg = wx.MessageDialog(None, 'You must select number between 1-8.', 'Media Converter', wx.ICON_INFORMATION)
                       amsg.ShowModal()
                       amsg.Destroy()
                   else:
                       self.button.Disable()
                       self.button2.Enable()
                       pass

               else:
                   self.button.Disable()
                   self.button2.Enable()
                   self.format_combo1.Disable()
                   self.format_combo2.Disable()
                   self.format_combo3.Disable()
                   self.format_combo4.Disable()
                   startWorker(self.LongTaskDone, self.LongTask, wargs=(progname,wrkdir,unit1,unit3,stripped,unit2))





           elif (unit1 != 'Select Media' or unit1 != '') and (unit5 == 'video to mp3'):
               if unit6 == 'k/bs' or unit6 == None:
                   amsg = wx.MessageDialog(None, 'You must select a bit rate.', 'Media Converter', wx.ICON_INFORMATION)
                   amsg.ShowModal()
                   amsg.Destroy()

               else:
                   self.button.Disable()
                   self.button2.Enable()
                   self.format_combo1.Disable()
                   self.format_combo2.Disable()
                   self.format_combo3.Disable()
                   self.format_combo4.Disable()
                   self.format_combo5.Disable()
                   self.format_combo6.Disable()
                   startWorker(self.LongTaskDone, self.LongTask3, wargs=(progname, wrkdir, unit1, preset1_a, unit6, preset1_b, stripped, preset_mp3))











       def LongTask(self, progname, wrkdir, unit1, unit3, stripped, unit2):
           convert_file1 = progname + wrkdir + '\\' + unit1 + ' ' + unit3 + ' ' + stripped + unit2
           self.statusbar.SetStatusText("Converting: " + unit1 + "...")
           os.system(convert_file1)
           print convert_file1





       def LongTask2(self, progname, wrkdir, unit1, unit3, unit4, stripped, unit2):
           convert_file2 = progname + wrkdir + '\\' + unit1 + ' ' + unit3 + ' ' + unit4 + ' ' + stripped + unit2
           self.statusbar.SetStatusText("Converting: " + unit1 + "...")
           os.system(convert_file2)


       def LongTask3(self, progname, wrkdir, unit1, preset1_a, unit6, preset1_b, stripped, preset_mp3):
           convert_file3 = progname + wrkdir + '\\' + unit1 + ' ' + preset1_a + ' ' + unit6 + ' ' + preset1_b + stripped + preset_mp3
           self.statusbar.SetStatusText("Converting: " + unit1 + "...")
           os.system(convert_file3)

       def LongTask4(self, progdir, wrkdir, prog_dir, progdir3, f_string, s_string2, vid_format):
           #convert_file4 = progdir + wrkdir + '\\' + s_string + prog_dir + s_string2 + progdir3 + s_string.strip('mpegaviw24ofl.') + vid_format
           convert_file4 = progdir + f_string + prog_dir + s_string2 + progdir3 + f_string.strip('mpegaviw24ofl.') + vid_format
           self.statusbar.SetStatusText("Converting: " + f_string + "...")
           os.system(convert_file4)
           print convert_file4



       def LongTaskDone(self, result):
           r = result.get()
           if r:
               amsg = wx.MessageDialog(None, 'Aborted!', 'Media Converter', wx.ICON_INFORMATION)
               self.statusbar.SetStatusText("Convert Aborted ...")
               amsg.ShowModal()
               amsg.Destroy()
               self.LongTask.terminate()
           else:
               self.statusbar.SetStatusText("Done ...")
               emsg = wx.MessageDialog(None, 'Finished Converting!', 'Media Converter', wx.ICON_INFORMATION)
               emsg.ShowModal()
               emsg.Destroy()
               self.format_combo1.Enable()
               self.format_combo2.Enable()
               self.format_combo3.Enable()
               self.format_combo5.Enable()
               self.format_combo4.Disable()
               self.format_combo6.Disable()
               self.button.Enable()
               self.button2.Disable()
               self.shouldAbort = False
           """self.progress_bar.SetValue(0)
           self.progress_bar.Hide()"""



       def OnAbortButton(self, e):
           endprogram = 'c:\\Windows\\System32\\taskkill /IM cmd.exe'
           os.system(endprogram)
           self.format_combo1.Enable()
           self.format_combo2.Enable()
           self.format_combo3.Enable()
           self.format_combo5.Enable()
           self.button.Enable()




    if __name__ == '__main__':
       app = wx.PySimpleApp()
       frame = dConvert()
       frame.SetSizeHints(500,310,500,310)
       frame.Show()
       app.MainLoop()