Author Topic: windows v2.7.5 tinypy - muxer cannot open  (Read 487 times)

leedog99

  • Newbie
  • *
  • Posts: 3
windows v2.7.5 tinypy - muxer cannot open
« on: October 16, 2019, 10:14:37 AM »
When I run a PY script to convert an MVK to MP4, it opens the local MKV file fine, but then get MUXER CANNOT OPEN error. Clicking SAVE works fine.
I have attached my log and script. Im guessing something to do with the error, "...Video has extradata and muxer requires globalHeader, assuming it is done so."
WIN 10 Home

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 3389
Re: windows v2.7.5 tinypy - muxer cannot open
« Reply #1 on: October 16, 2019, 08:25:08 PM »
Im guessing something to do with the error, "...Video has extradata and muxer requires globalHeader, assuming it is done so."

This is not an error but a general purely informational message, completely unrelated to the problem.

Your script tries to save output to the source file, which obviously can't work. On a non-Windows platform, this would destroy the source file, but file locking on Windows prevents dataloss and the fatal flaw in the script results just in a failure due to inability to write to the specified output (which is here identical with the input).

leedog99

  • Newbie
  • *
  • Posts: 3
Re: windows v2.7.5 tinypy - muxer cannot open
« Reply #2 on: October 16, 2019, 08:44:24 PM »
I had this before for the save line:
adm.save(filename)
same MUXER CANNOT OPEN error.

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 3389
Re: windows v2.7.5 tinypy - muxer cannot open
« Reply #3 on: October 17, 2019, 12:25:07 AM »
adm.save(filename) would have been wrong too as the basename of $filein needs a directory for save() to succeed, a directory different from $dir (I denote variables here with "$" like in bash scripts for legibility).

It should work with

Code: [Select]
#PY  <- Needed to identify #

ext = "mkv"
gui = Gui()
adm = Avidemux()

def convert(filein):
    if (0 == adm.loadVideo(filein)):
        gui.displayerror("oops, cannot load " + filein)
        raise
    adm.videoCodec("Copy")
    adm.audioClearTracks()
    adm.setSourceTrackLanguage(0,"eng")
    adm.audioAddTrack(0)
    adm.audioCodec(0, "copy");
    adm.audioSetDrc(0, 0)
    adm.audioSetShift(0, 0, 0)
    adm.setContainer("MP4", "muxerType=0", "optimize=1", "forceAspectRatio=False", "aspectRatio=1", "rotation=0")
    adm.save(filein + ".mp4")
    print("Done")

# Main
InputFolder = gui.dirSelect("Select the Source Folder")
list = get_folder_content(InputFolder,ext)
if(list is None):
    raise
for i in list:
    convert(i)
print("Done")

but, of course, the double extension "mkv.mp4" is not pretty and should be treated as well.

leedog99

  • Newbie
  • *
  • Posts: 3
Re: windows v2.7.5 tinypy - muxer cannot open
« Reply #4 on: October 17, 2019, 10:34:21 AM »
I have searched for hours, no luck. Any suggestion on how to remove the .MKV from the file name so the saved name is clean?

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 3389
Re: windows v2.7.5 tinypy - muxer cannot open
« Reply #5 on: October 17, 2019, 11:14:20 AM »
You should browse posts by the user "dosdan" here.

A brief internet search points to https://superuser.com/questions/1120795/how-to-batch-remove-a-duplicate-file-extension-in-os as a possible solution.