Tecnologia e non solo

dicembre 10, 2015

4FFmpeg-8.xxx

Filed under: Debian,python,Sid,Video — telperion @ 12:39 PM

4fff
upload immagini

4fffull2

Nuova versione che ora funziona direttamente con ffmpeg, ffprobe e ffplay.
Funziona solo su linux, non ho scritto le varianti python per altri os.

Praticamente fa tutto quello che fa il mio tool (C++ a riga di comando) e con molte aggiunte, con interfaccia grafica GTK3.
——————————————————————————-
8.222
Classe per i compressori audio, selezione da combobox.
8.216
supporto a recenti modifiche di showvolume
8.215
rimosse le differenze di ratecontrol di libx265, visto che ffmpeg da un po supporta il wrapping -b:v -crf:v.
8.207
x265-params direttamente modificabili da textentry.
param
upload immagini

8.204
Nuova logica gestione video encoder, transizione completata.
8.203
Ordine e pulizia, nomi classi in Camel style nel limite del possibile.
Nuova logica gestione video encoder.

8.196
aggiunto supporto a zscale, ridimensiona ad alta qualità con libzimg, (serve la lib e ffmpeg compilato con --enable-libzimg).
libzimg
host image


8.194
Classi per varie cose.

8.180
Aggiunto supporto a Sox resampler (libsoxr), high-quality audio resampling.

8.178
8.172
8.170

8.158
Uso di window.set_deletable per prevenire chiusura durante encoding.
Aggiunto un calcolatore time2frame per determinare zones in x265.

8.154


8.151e1
aggiunto total frames detection, uso esteso sui thread di GLib.idle_add, come da bibbia. Ed altro ancora.
In test.

8.148
piccoli fix per gtk 3.16.

8.143
8.137
8.130

8.128
8.123
8.119
x265 8 e 10bit, serve libx265 compilata con multilib e ffmpeg >= 2.7.2

8.106

8.102
aggiunto supporto a dynaudnorm

dynaud
free image hosting

—————————————————————-
cit. le gtk3 con i thread sono una vera spina nel culo.
./4ffmpeg-8.091.py:2319: Warning: g_param_value_set_default: assertion 'G_IS_VALUE (value)' failed
self.but_f3_run.set_label('RUN')
./4ffmpeg-8.091.py:2319: Warning: /tmp/buildd/glib2.0-2.42.1/./gobject/gtype.c:4221: type id '0' is invalid
self.but_f3_run.set_label('RUN')
./4ffmpeg-8.091.py:2319: Warning: can't peek value table for type '' which is not currently referenced
self.but_f3_run.set_label('RUN')

Ok sai che ti dico? Non tocchiamo più l’etichetta del bottone e Vaffanc..uore.

8.091
———–
Dunque, le gtk3 con i thread sono una vera spina nel culo.
Si perde più tempo a mettere a punto l’interfaccia, che a migliorare la logica del programma.

8.090
———–

8.088

————
Passaggio a gtk3.14, per motivi estetici linguette del notebook in alto.
self.terminal.fork_command_full() non funziona più, ora (senza alcuna documentazione/avviso) bisogna usare self.terminal.spawn_sync(), ‘grazie’ Google, ‘fuck’ gtk3.

8.085

———–

8.081

———

8.071

———
Aggiunto supporto libx265 (MP4, crf), e possibilità di creare MP4 solo audio.

8.069

———
8.063

——–
Eliminati i ‘fottuti’ FileChooserButton, fonte di sporadici crash Gtk.
Sostituiti con più ‘sani’ Gtk.FileChooserDialog.

8.055

——–
8.053

——–
Cambiata logica dei container, aggiunto MKA, aggiunto ac3 -drc_scale.
ac3 drc
upload

8.051
——-

8.046

——-
Aggiunto in Utility, compand, e la possibilità di testare la compressione (con e senza).
compand
host immagini

8.045

——–
4FFmpeg accetta un nomefile come parametro al lancio.
Creato un file 4ffmpeg.desktop con i mime type per permetterne il lancio con “apri con”.

8.043

——————
Causa qualche bug di chissà quale lib, se durante un thread, lasciate il muose su un widget che riceve input (button) che viene reso ‘insensitive’, per evitare interazioni, alla fine del thread e conseguente cambio stato ‘sensitive’ dello stesso widget, si scatena il crash:
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
python: ../../src/xcb_io.c:274: poll_for_event: asserzione "!xcb_xlib_threads_sequence_lost" non riuscita.
Annullato

Per evitare ciò, rivista la logica di protezione input, niente più set_sensitive(), ma ho usato strategie alternative.

8.036
——————
8.025
——————
8 019
host image

8.019
aggiunto x264 tune, controllo su -ss -t se un file è caricato, trattamento eccezioni su version e blackdetect.

——————
8.012

2 commenti

  1. Grande!
    Proprio una cosa utile, spero di poterla testare al piu’ presto, spesso in GNU/Linux c’e’ tanta potenza ma poco controllo!!! 😀

    Buon inizio di anno!

    Daniele

    Commento di Danielsan — gennaio 5, 2015 @ 7:21 PM

  2. […] Dopo un po di casini, sono finalemente riuscito a produrre un parziale setup.py per il mio programma 4ffmpeg. […]

    Pingback di python setup.py | Tecnologia e non solo — ottobre 5, 2015 @ 6:31 PM


RSS feed for comments on this post.