Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9089091
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T22:03:50+00:00 2026-06-16T22:03:50+00:00

I wrote an app that uses ffmpeg to convert files to different fomat in

  • 0

I wrote an app that uses ffmpeg to convert files to different fomat in a particular folder. The folder hosts .mpg, .mp3, .avi, .flv … or whatever audio/video files one decides to add. The problem occurs when I use my app to select a file to convert that has spaces in the name; the app closes immediately, without having converted the file to a different format. Currently, I have to rename any files that has spaces in the name before it will convert via my app->ffmpeg. I’m attempting to write a function that will from the start of my app check file names in a particular folder for spaces, replace those spaces with underscores (‘_’). I’m having some trouble with regex; I’m not good at writing/configuring them to solve problems. Can someone advise me on the correct regex to use to find white/blank space in a file name? Below is what I have so far:

import os
import re


pattern = r"([^\s]+(?=\.(mp3|mov|mpg|mp4|flv|avi|mpeg4|mkv|mpeg|mpg2|.wav))\.\2)"


def replace_Wspace(self, fName):
    if re.match(pattern, fName):
        fname = fName.replace(' ', '_')
    return fname

I’m adding the section of code from my app that handles the call to ffmpeg, as requested:

def convertButton(self, e):

    unit1 = self.format_combo1.GetValue()
    #Media Formats
    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:\\d-Converter\\ffmpeg\\bin")
    wrkdir = os.getcwd()

    newfile = unit1
    stripped = newfile.strip('mpeg3aviovfl4w2c.') #Strips the extension from the original file name


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

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

    chck_unit1 = self.my_endswith(unit1)



    while True:    
        if unit5 == 'video to mp3':

            if unit6 == 'k/bs' or unit6 == '':
                amsg = wx.MessageDialog(None, 'You must select a bit rate.', 'Media Converter', wx.ICON_INFORMATION)
                amsg.ShowModal()
                amsg.Destroy()
                break

            elif unit5 == 'video to mp3' and unit6 != 'k/bs' or unit6 != '':
                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))
                break
            elif unit1 != unit1.endswith(".mpg") or unit1.endswith(".mpeg") or unit1.endswith(".avi") or unit1.endswith(".mp4") or unit1.endswith(".flv"):
                bmsg = wx.MessageDialog(None, 'You must select a valid format to convert to .mp3.', 'Media Converter', wx.ICON_INFORMATION)
                bmsg.ShowModal()
                bmsg.Destroy()
                break

        else:
            pass



        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()
            break


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


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

        elif unit3 != 'Select Quality' or unit3 != '':
            self.format_combo5.Disable()

            if 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()
                    break
                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()
                    startWorker(self.LongTaskDone, self.LongTask2, wargs=(progname,wrkdir,unit1,unit3,unit4,stripped,unit2))
                    break
            elif unit3 == '-sameq':
                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()
                startWorker(self.LongTaskDone, self.LongTask, wargs=(progname,wrkdir,unit1,unit3,stripped,unit2))
                break   




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)
    print convert_file3

def LongTask4(self, progdir, wrkdir, prog_dir, progdir3, f_string, s_string2, 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
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-16T22:03:51+00:00Added an answer on June 16, 2026 at 10:03 pm

    Instead of regex, use use fName.endswith(), you can provide a tuple as an argument of all of your audio extensions and it will return True if fName ends with any of them, for example:

    audio = ('.mp3','.mov','.mpg','.mp4','.flv','.avi','.mpeg4','.mkv','.mpeg','.mpg2','.wav')
    if fName.endswith(audio) and ' ' in fName:
        return fName.replace(' ', '_')
    return fName
    

    If there are no spaces or it has a different extension, it will return the original string without changes.

    Alternatively, you could use os.path.splitext():

    audio = set(('.mp3','.mov','.mpg','.mp4','.flv','.avi','.mpeg4','.mkv','.mpeg','.mpg2','.wav'))
    if os.path.splitext(fName)[1] in audio and ' ' in fName:
        return fName.replace(' ', '_')
    return fName
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I wrote an app that uses ffmpeg to convert media files (.wav, .avi, .mp3,
I wrote an app that uses Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES) to find the folder to store
I wrote an app that uses XPath to query some XML config files. When
I wrote a C app that uses the PCRE library. Everything works on my
We have a c# app that uses a number of libraries (that we wrote
I wrote a backbone.js app that uses require.js and is broken up with models/,
I wrote an app that uses UITabBarController , but if I add a lot
i wrote a Delphi 5 app that uses TIdFTP. it's been working great for
I wrote an app that uses Cairo to draw things on screen (on a
I have an app that I wrote a couple years ago that uses Canvas/FBML

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.