une fonction à ajouter pour avidemux

Started by hd101925, December 15, 2021, 05:56:40 PM

Previous topic - Next topic

hd101925

Salut...
Dans le menu déroulant "Fichier" -Sauver comme image; Sauver sélection comme PNG n'éxiste pas.à noter que le format PNG est de meilleur qualité que le JPEG.
J'éspère que cette fonction sera ajoutée prochainement.

Merci

eumagga0x2a

Bonjour,

veuillez essayer le script suivant, compatible avec la dernière version de développement d'Avidemux:

adm = Avidemux()
ed = Editor()
ui = Gui()

if not ed.nbSegments():
    ui.displayError("No video", "Please load a video prior to running this script")
    return 0

start = adm.markerA
end = adm.markerB
if start > end:
    swap = end
    end = start
    start = swap

if not adm.setCurrentPts(start):
    ui.displayError("Seek error", "Cannot seek to the start of the selection")
    return 0

outfile = ui.fileWriteSelectEx("Select output filename", "png")
if outfile is None:
    return 0

dia = DialogFactory("Set Limits")
imgMax = DFInteger("Maximum # of images:", 1, 99999)
dia.addControl(imgMax)
if not dia.show():
    return 0

count = 0
fileNameNoExtension = (splitext(outfile))[0]

for frame in range(99999):
    if frame >= imgMax.value:
        break
    if frame < 10:
        filler = "0000"
    elif frame < 100:
        filler = "000"
    elif frame < 1000:
        filler = "00"
    elif frame < 10000:
        filler = "0"
    else:
        filler = ""
    if not adm.savePng(fileNameNoExtension + filler + str(frame) + ".png"):
        break
    count += 1
    if not adm.seekFrame(1):
        break
    pts = ed.getCurrentPts()
    if pts >= end:
        break

if not count:
    ui.displayError("Error", "No PNG images saved")
    return 0

ui.displayInfo("Finished", str(count) + " PNG images saved")
return count

Ce script est assez lent car il met à jour l'interface graphique pour chaque image exportée, mais il automatise exactement la fonction que vous demandez. Placez le script sous forme d'un fichier texte avec l'extension de nom de fichier ".py") dans le répertoire %appData%\avidemux\custom sous Windows ou ~/.avidemux6/custom sous Linux SVP.

hd101925

Salut....eumagga0x2a

Aprés avoir placé le fichier script que j'ai nommé "Save selection as PNG",celui ci apparait dans script perso.
Mai aprés avoir sélectionner une partie video et executer.
Jai reçu le message suivant:
voir image.

hd101925

#3
A noter que je travaille sur win7 32bit
version avidemux 2.7.6

je vois que l'image du message d'erreur n'est pas apparu.
voici le message
"
TinyPy:Exception

Exception: (_tp_dict_get) KeyError: setCurrentPts
BackTrack:
File: py2bc.py, line 53
File: C:/Users/salem/AppData/Roaming/avidemux/custom/Save selection as
PNG.py, line 16   "

Merci....

eumagga0x2a

Bonjour,

Quote from: hd101925 on December 16, 2021, 06:29:56 PMA noter que je travaille sur win7 32bit
version avidemux 2.7.6

La version 2.7.6 est une très ancienne version qui n'est absolument pas supportée. Malheureusement, il n'y a plus de versions officielles pour Windows 32 bits. Le script que j'ai posté ici nécessite une version 2.8.0 actuelle.

Si votre matériel peut exécuter des systèmes d'exploitation 64 bits modernes, je vous recommande fortement de dire au revoir à Windows 7 32 bits.

hd101925

Merci beaucoup  eumagga0x2a
je l'ai essayé en 64bit sur un autre PC et ça fonctionne bien ,mais comme vous le savez ,il y a une certaine lenteur car il met à jour l'interface graphique pour chaque image exportée.

est-il possible de créer un autre script pour le format BMP "Save selection as BMP"

Merci d'avance...

eumagga0x2a

Bonjour,

Quote from: hd101925 on December 17, 2021, 12:50:36 PMest-il possible de créer un autre script pour le format BMP "Save selection as BMP"

adm = Avidemux()
ed = Editor()
ui = Gui()

if not ed.nbSegments():
    ui.displayError("No video", "Please load a video prior to running this script")
    return 0

start = adm.markerA
end = adm.markerB
if start > end:
    swap = end
    end = start
    start = swap

if not adm.setCurrentPts(start):
    ui.displayError("Seek error", "Cannot seek to the start of the selection")
    return 0

outfile = ui.fileWriteSelectEx("Select output filename", "bmp")
if outfile is None:
    return 0

dia = DialogFactory("Set Limits")
imgMax = DFInteger("Maximum # of images:", 1, 99999)
dia.addControl(imgMax)
if not dia.show():
    return 0

count = 0
fileNameNoExtension = (splitext(outfile))[0]

for frame in range(99999):
    if frame >= imgMax.value:
        break
    if frame < 10:
        filler = "0000"
    elif frame < 100:
        filler = "000"
    elif frame < 1000:
        filler = "00"
    elif frame < 10000:
        filler = "0"
    else:
        filler = ""
    if not adm.saveBmp(fileNameNoExtension + filler + str(frame) + ".bmp"):
        break
    count += 1
    if not adm.seekFrame(1):
        break
    pts = ed.getCurrentPts()
    if pts >= end:
        break

if not count:
    ui.displayError("Error", "No Windows bitmaps saved")
    return 0

ui.displayInfo("Finished", str(count) + " Windows bitmaps saved")
return count

Mais à quoi ça sert? Vous gaspilleriez une quantité incroyable d'espace disque sans aucun avantage.

hd101925

merci  ...
Vous avez raison ,la qualité Png est égale pratiquement à BMP.
J'espère que ces fonctions seront ajoutées dans les prochaines mises à jours avec plus de rapidité,peut être en utilisant le coté materiel.

merci encore

hd101925

Salut eumagga0x2a

Est-il possible de créer une fonction inverse c'est à dire "images to video" avec différents formats de sortie choisis par l'utilisateur "avi,MP4,mkv.etc...".

Merci...

eumagga0x2a

Bonjour,

si les images .jpg, .png ou .bmp d'un dossier sont nommées de manière séquentielle (img-0000.jpg, img-0001.jpg, img-0002.jpg et comme ça), chargez la première dans l'éditeur vidéo pour que toutes les images suivantes soient chargées automatiquement devenant une vidéo à 25 ips. Sélectionnez un encodeur vidéo et, si nécessaire, ajoutez des filtres vidéo, puis enregistrez-le avec le multiplexeur de votre choix. Voilà tout.

NB: Toutes les images doivent être du même type et de la même taille!

hd101925

#10
Bonjour,
Ça fonctionne très bien sauf que l'ips est fixé à 25 .est-ce possible d'avoir les autres fréquences à savoir "24 - 30 etc...".

Merci beaucoup....

eumagga0x2a

Bonjour,

Veuillez utiliser le filtre vidéo "Changer le nombre d'i/s" avec la configuration "Source: 25 (Pal/Secam)" et "Destination: 23.976 (Film)" (ou "29.97 (NTSC)"). Évitez de spécifier le nombre d'i/s en utilisant l'option "Manuel" SVP.

hd101925

Salut  eumagga0x2a
récemment les fichiers vidéo que je télécharge du youtube avec IDM"internet dowload manager" sont de format MKV"AV1 et OPUS" et cela n'est pas pris en charge par Avidemux.
avant avec le format MKV"VP9 et OPUS" ça fonctionnait bien.
je crois que le codec AV1 est nécessaire.

merci...

eumagga0x2a

Bonjour,
bien sûr, Avidemux prend en charge la lecture du codec AV1 et l'écriture en mode copie uniquement (sortie: MKV). Utiliser la dernière version SVP.

hd101925

#14
salut...

aprés avoir re-multiplexé les videos avec MKVTOOLNIX ,AVIDEMUX les a pris en charge.


merci beaucoup...