Handbrake 1.3.3.x in debian 10 – video transcoder – installazione con compilazione

Hanbrake logo

HandBrake: Open Source Video Transcoder, apprezzato programma multipiattaforma (Linux, Windows, MacOS) per la trascodificata video, attualmente è giunto alla versione 1.3.3 ( 16/06/2020 )
Per chi utilizza debian 10 stable il pacchetto disponibile è la versione 1.2.2 così descritto:

Package: handbrake (1.2.2+ds1-1)
strumento versatile per estrazione di DVD e transcodifica di video (GUI GTK+) 

HandBrake è uno strumento versatile e facile da usare per convertire DVD e altri video in oggetti multimediali in formato H.264, XViD o Ogg. È particolarmente utile per creare video che sono compatibili con dispositivi video portatili, come gli iPod/iPhone Apple o la PSP Sony.
Questo pacchetto contiene la variante grafica, ghb.

Da tempo per chi usa Ubuntu è possibile utilizzare l’ultima versione di handbrake grazie  il ppa  stebbins Packages in “HandBrake Releases” : HandBrake Releases : John Stebbins. Per chi utilizza Debian 10 propongo l’installazione passando per la compilazione.

Installare l’ultima versione di Handbrake in Debian 10.x da terminale

La procedura di compilazione di handbrake in Debian 10 è descritta compiutamente in due pagine del sito handbrake https://handbrake.fr/docs/en/latest/developer/install-dependencies-debian.html qui viene riportata in un unico post.

Prima fase predisporre debian per la compilazione installando tutte le dipendenze necessarie. In fondo al post l’elenco dei comandi e dei pacchetti

Installare le dipendenze per Debian 10 Buster:

sudo apt-get update
sudo apt-get install autoconf automake build-essential cmake git libass-dev libbz2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libjansson-dev liblzma-dev libmp3lame-dev libnuma-dev libogg-dev libopus-dev libsamplerate-dev libspeex-dev libtheora-dev libtool libtool-bin libturbojpeg0-dev libvorbis-dev libx264-dev libxml2-dev libvpx-dev m4 make meson nasm ninja-build patch pkg-config python tar zlib1g-dev

Attenzione che siano installati i pacchetti meson e nasn dipendenze specifiche per buster

sudo apt-get install meson nasm


Per installare con il supporto Intel Quick Sync Video, installare le dipendenze QSV.

sudo apt-get install libva-dev libdrm-dev

Per disporre dell’interfaccia grafica GTK (GUI), è necessario installare le dipendenze grafiche.

sudo apt-get install intltool libappindicator-dev libdbus-glib-1-dev libglib2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev libgudev-1.0-dev libnotify-dev

e

sudo apt-get install libwebkit2gtk-4.0-dev || sudo apt-get install libwebkitgtk-3.0-dev

Adesso che tutte le dipendeze sono disponibili è possibili scaricare il repository handbrake presente su git e procedere alla compilazione:

clonare il repository Handbrake con

git clone https://github.com/HandBrake/HandBrake.git 

cd HandBrake

personalmente ho fatto qualcosina di un po’ più radicale utilizzando la directory /opt ma non è necessario

Le fasi per la compilazione installazione sono le solite:

./config             #   .1 
make                 #   .2
make check           #   .2b  ( per controllare la compilazione )
sudo make install    #   .3   ( per installare ) 

config può essere lanciato con alcune opzioni. Questo il comando base:

./configure --launch-jobs=$(nproc) --launch

Se si desidera il supporto per Quick Sync Video aggiungere l’opzione

--enable-qsv

Per disporre di handbrake da sola linea di comando disabilitare l’interfaccia grafica appendendo l’opzione

--disable-gtk

Lanciato ./config avremo nella directory Handbrake il comando da terminale HandBrakeCLI

Se compilato con l’interfaccia grafica come in questo caso avremmo la handbrake GUI ghb in Handbrake/gtk/src

L’installazione è opzionale e può essere eseguita secondo tradizione con

sudo make --directory=build install

Per ricompilare rimuovere la directory  build con:

rm -rf build

Per avviare Handbrake da terminale si deve digitare un acronimo derivato da handbrake-gtk.

:~$ ghb

Sources:

  • I files multimediali più comuni che le librerie libavformat e libavcodec supportano.
  • Quasiasi DVD o Bluray-like che non sia “copy-protected”. (la rimozione della protezione della copia non è supportata)

Outputs:

  • Formato files contenitore  : MP4(M4V),  Matrosca (MKV) e WebM
  • Video: H.264(x264), MPEG-4(ffmpeg), MPEG-2(ffmpeg), or Theora(libtheora)
  • Audio: AAC, CoreAudio AAC/HE-AAC (OS X Only), MP3, Flac, AC3, or Vorbis. AC-3, DTS, DTS-HD, AAC and MP3 pass-thru

Handbrake documentazione

Utilizzare handbrake

Alcune brevi considerazioni

Format:  I containers disponibili sono Matroska ( MKV ) e MP4 ( M4) e WebM

Convertire file .m4v in mp4

Se il codec video utilizzato è H264 il formato m4v può essere convertito nel più classico e diffuso .mp4 semplicemente rinominado l’estensione. In questo modo semplici NAS e media player potrebbero essere agevolati nello streaming del file multimediale.

Handbrake in genere non necessità di particolari impostazioni basta selezionare uno dei profili di destinazione tra i molti disponibili è premere il pulsante Start per avviare la conversione del file.

Handbrake 1.3.3 Presets e Pannello Video per la personalizzazione

Presets: Sulla destra sono disponibili i diversi presets suddivisi in 3 categorie General, Web, Devices, Matroska e Production.

Benchè le impostazioni di default rappresentani in genere un ottimo tra qualità e dimensione del file ci sono diversi pannelli e schede per personalizzare la conversione.

Disponibile anche la funzione Preview.
Nella scheda Dimension è disponible anche la funzione cropping.

Filter: La scheda filter consente di deinterlacciare un eventuale video interlacciato.

Video: la scheda consente di variare il video encoder oltre ad H.264 sono disponibili mpeg-2 e – mpeg-4 e VP3 Theora e di regolare il livello di compressione.

Audio: la scheda consente di agire per ogni traccia audio è possibile modificare l’encoder  e la qualità agendo su compressione  ( bitrate  ) e Mix.

Le altre schede disponibili rigurdano i Sottotioli, i Capitoli e i Tags.

Dipendenze:

  • autoconf
  • automake
  • build-essential
  • cmake
  • git
  • libass-dev
  • libbz2-dev
  • libfontconfig1-dev
  • libfreetype6-dev
  • libfribidi-dev
  • libharfbuzz-dev
  • libjansson-dev
  • liblzma-dev
  • libmp3lame-dev
  • libnuma-dev
  • libogg-dev
  • libopus-dev
  • libsamplerate-dev
  • libspeex-dev
  • libtheora-dev
  • libtool
  • libtool-bin
  • libturbojpeg0-dev
  • libvorbis-dev
  • libx264-dev
  • libxml2-dev
  • libvpx-dev
  • m4
  • make
  • meson
  • nasm
  • ninja-build
  • patch
  • pkg-config
  • python
  • tar
  • zlib1g-dev

Dipendenze per QSV ( Intel Quick Sync Video dependencies ) (opzionale):

  • libva-dev
  • libdrm-dev

Dipendenze per l’interfaccia Grafica:

  • intltool
  • libappindicator-dev
  • libdbus-glib-1-dev
  • libglib2.0-dev
  • libgstreamer1.0-dev
  • libgstreamer-plugins-base1.0-dev
  • libgtk-3-dev
  • libgudev-1.0-dev
  • libnotify-dev
  • libwebkit2gtk-4.0-dev (libwebkitgtk-3.0-dev for Debian 9)

Risorse:

efibootmgr – l’applicazione per interagire e modificare l’ EFI Boot Manager – Linux

efibootmgr è un’applicazione userspace utilizzata per modificare il Boot Manager Extensible Firmware Interface (EFI) di Intel. EFI che oramai ha rimpiazzato il BIOS è l’interfaccia firmware che si occupa del modo in cui hardware e software comunicano in un computer. Tra i benefici di EFI è di essere non legato all’architettura x86.  Attualmente viene implementata l’estensione di  EFI denominata UEFI (Unified EFI ).  Tra i compiti di UEFI c’è proprio anche quello di occuparsi dei servizi di Boot. Grazie ad UEFI è possibile avviare diversi sistemi operativi Linux, Mac, Windows senza la necessità di un bootmanager esterno. UEFI infatti può automaticamente selezionare la partizione appropriata con il sistema operativo. L’unica condizione è che l’hardware e  il software ( SO ) supportino le specifiche UEFI.

Esempi di UEFI Boot Menu.

AsRock FM2 – AMD
x79-Xeon

ATTENZIONE: nei primi tempi le implementazioni UEFI, seppur lungimiranti, sono state accompagnate da diversi bug anche peggiorativi rispetto alla controparte BIOS. In questi casi l’utilizzo di efibootmgr si deve accompagnare alla conoscenza della motherboards specifica. 
In generale poichè si potrebbe anche rendere necessario il caricamento del firmware della MB si sconsiglia la modifica con efibootmgr ( anche nel caso dei Macintosh si sconsiglia la modifica con efibootmgr dei menu entry).
Per disporre di un boot manager userfriendly  si consiglia di valutare l’uso di rEFInd.

Boot Manager: rEFInd

Verificare che il sistema sia stato avviato in UEFI mode

Per poter utilizzare efibootmgr è necessario che le variabili filesystem EFI ( EFI vars )  siano accessibili. Questo implica che il sistema sia stato avviato in EFI mode.

In debian:

# sudo [ -d /sys/firmware/efi ] && echo "EFI boot on HDD" || echo "Legacy boot on HDD"
EFI boot on HDD

dal kernel 4.0 si può verificare che l’avvio sia avvenuto in EFI mode con

# cat /sys/firmware/efi/fw_platform_size
se UEFI mode
64  # se 64 bit 
32  # se 32 bit 
diversamente No UEFI mode  
cat: /sys/firmware/efi/fw_platform_size: No such file or directory 

Per visualizzare le variabili EFI si può utilizzare il comando

# efivar –list

Altro comando per verificare l’avvio in EFI mode

#mount | grep efivars
efivarfs on /sys/firmware/efi/efivars type efivarfs (ro,relatime)

Se  il sistema NON è stato avviato in EFI mode digitando efibootmgr avremo il seguente messaggio:

# efibootmgr 
EFI variables are not supported on this system.

UEFI Boot Manager

Usualmente un Computer UEFI mette a disposizione anche tool di configurazione per il menu del Boot Manager EFI. Se il tool non è sufficientemente amichevole  è preferibile utilizzare il già citato rEFInd oppure l’applicazione efibootmgr oggetto del post.

Efibootmgr

Efibootmgr può creare e rimuovere le voci nel menu di avvio UEFI, modificare l’ordine delle voci nel menu e altro ancora.

In debian/ubuntu  efibootmgr si installa da terminale al solito con

# apt install efibootmgr

lanciato efibootmgr verranno visualizza i dati relativi all’ UEFI Boot Manager con il menu di Avvio UEFI, la voce di avvio corrente del sistema, l’ordine di visualizzazione,…

# efibootmgr 
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0000,0001,0006,0004,0005,0002
Boot0000* ubuntu
Boot0001* mx
Boot0002* UEFI: Built-in EFI Shell 
Boot0004* Hard Drive 
Boot0005* USB 
Boot0006* UEFI: Samsung Flash Drive 1100

Il menu di avvio è composto da 6 voci: Boot0000, Boot0001, …

BootCurrent: la prima linea evidenzia quella che è la voce predefinita del menu di avvio. In questo caso mx.

Timeout: il tempo di attesa del menu di avvio che risulta di default inpostato a 0 infatti in genere non si riesce a vedere il menu di avvio.

BootOrder: la successione che verra seguita qualora il precedente menu entry non venga caricato / fallisca il caricamento.
Nell’esempio l’ordine seguito sarà: 0000,  0001, 0006, 0004, 0005, 0002

E ‘  possibile visualizzare le voci del menu EFI  in modo completo utilizzando l’opzione -v verbose

# efibootmgr 
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0000,0001,0006,0004,0005,0002
Boot0000* ubuntu	HD(2,GPT,defb0216-f5f6-4969-8345-ff816517a944,0xee800,0x1ad000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* mx	HD(1,GPT,9c281ac1-76a6-4b39-b2c2-ff65b0d0bef6,0x800,0x1ef000)/File(\EFI\mx\grubx64.efi)
Boot0002* UEFI: Built-in EFI Shell 	VenMedia(5023b95c-db26-429b-a648-bd47664c8012)AMBO
Boot0004* Hard Drive 	BBS(HD,,0x0)AMGOAMNO........m.S.e.a.g.a.t.e. .S.T.9.5.0.0.5.6.2.0.A.S....................A.........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .Y.5.1.X.D.C.C.9......AMBO
Boot0005* USB 	BBS(USB,,0x0)AMGOAMNO........s.S.a.m.s.u.n.g. .F.l.a.s.h. .D.r.i.v.e. .1.1.0.0....................A.......................F..Gd-.;.A..MQ..L.S.a.m.s.u.n.g. .F.l.a.s.h. .D.r.i.v.e. .1.1.0.0......AMBO
Boot0006* UEFI: Samsung Flash Drive 1100	PciRoot(0x0)/Pci(0x10,0x0)/USB(2,0)/HD(1,MBR,0x23,0x800,0x4e3e800)AMBO

In questo caso è possibile individuare anche le informazioni relative al percorso del bootloader. Ad esempio la varibile mx, ( Boot0001) relativa alla derivativa debian, mx linux, evidenzia che il booloader è di fatto GRUB. Il percorso con la configurazione efi ( grubx64.efi), menu entry ( mx) per il bootloader grub nella partizioni EFI system partition risulta essere (\EFI\mx\grubx64.efi ). La partizione è localizzata nel disco 1 che è partizionato GPT.

Cambiare il Timeout

Se si desidera visualizzare il menu per poter scegliere sempre dal bootmanager EFI si può portare il timeout a 5 srecondi con

efibootmgr -t 5

Cambiare l’ordine di avvio

Per cambiare l’ordine di avvio si utilizza l’opzione -o

efibootmgr -o 0001,0000,0006,0004,0005,0002

è possibile cambiare l’ordine solo per il primo successivo avvio.
In questo caso si usa l’opzione -n

efibootmgr -n 0002

Creare una voce nel menu di boot EFI

Per aggiungere un entry al menu EFI si usa l’opzione -c

efibootmgr -c -d /dev/sdb -p 2 -L “Debian” -l “\EFI\debian\grubx64.efi”

efibootmgr -c -d /dev/sdb -p 1 -L "multibootusb" -l "\EFI\boot\bootx64.cfg"
  • --create or -c crea una nuova voce;
  • --part or -p seguito dal numero di partizione della Partizione di Sistema EFI;
  • --disk or -d seguito dal disco nel quale la Partizione di Sistema EFI è ospitata;
  • --label or -L seguito dall’etichetta da utilizzare come voce nel menu di avvio;
  • --loader or -l seguito dal percorso dell’immagine EFI da avviare \EFI\boot\bootx64.cfg.

Cancellare una voce dal menu EFI

per cancellare un voce di menu di utilizza l’opzione -B

efibootmgr -b 4 -B

–bootnum (-b) seleziona la voce del menu da cancella
–delete-bootnum (-B) effettua la cancellazione

Se la voce cancellata era la prima fare attenzione e cambiare l’ordine di avvio dei menu.

UEFI Bootloader di fallback

Nelle specifiche UEFI 2.3, section 3.4.1.2, si precisa che in assenza di boot variabili configurate è permesso al firmware trattare la EFI system partition come media rimovibile – il percorso di boot sarà EFI/boot/bootx64.efi.

Quindi va considerata l’opportunità dell’installazione di un bootloader di fallback. Di seguito esempi di bootloader di fallback per debian e window

Nel caso di Debian Linux boot entry in NVRAM debian percorso di Boot EFI nella partizione EFI system partition:

EFI/debian/grubx64.efi

il percorso del bootloader di fallback risulta essere

EFI/boot/grubx64.efi

ad esempio nel caso di window variabile di boot configurata: microsoft
oltre a percorso di boot

EFI/microsoft 

potremmo avere il percorso di fallback

EFI/boot/bootx64.efi  

 

Opzioni efibootmgr:

-a | –active
Sets bootnum active
-A | –inactive
Sets bootnum inactive
-b | –bootnum XXXX
Modify BootXXXX (hex)
-B | –delete-bootnum
Delete bootnum (hex)
-c | –create
Create new variable bootnum and add to bootorder
-d | –disk DISK
The disk containing the loader (defaults to /dev/sda)
-e | –edd 1|3|-1
Force EDD 1.0 or 3.0 creation variables, or guess.
-E | –device NUM
EDD 1.0 device number (defaults to 0x80)
-g | –gpt
Force disk with invalid PMBR to be treated as GPT
-H | –acpi_hid XXXX
set the ACPI HID (used with -i)
-i | –iface NAME
create a netboot entry for the named interface
-l | –loader NAME
Specify a loader (defaults to \\elilo.efi)
-L | –label LABEL
Boot manager display label (defaults to “Linux”)
-n | –bootnext XXXX
Set BootNext to XXXX (hex)
-N | –delete-bootnext
Delete BootNext
-o | –bootorder XXXX,YYYY,ZZZZ
Explicitly set BootOrder (hex)
-O | –delete-bootorder
Delete BootOrder
-p | –part PART
Partition number containing the bootloader (defaults to 1)
-q | –quiet
Quiet mode – supresses output.
–test filename
Don’t write to NVRAM, write to filename.
-t | –timeout seconds
Boot Manager timeout, in seconds.
-T | –delete-timeout
Delete Timeout variable.
-u | –unicode | –UCS-2
pass extra command line arguments as UCS-2 (default is ASCII)
-U | –acpi_uid XXXX
set the ACPI UID (used with -i)
-v | –verbose
Verbose mode – prints additional information
-V | –version
Just print version string and exit.
-w | –write-signature
write unique signature to the MBR if needed
-@ | –append-binary-args
append extra variable args from file (use – to read from stdin). Data in file is appended as command line arguments to the boot loader command, with no modification to the data, so you can pass any binary or text data necessary.

Risorse:

Tor Browser – Linux – Installazione dal sito

The Tor Project

Tor Browser è un browser web basato su Firefox che utilizza la rete Tor il cui abiettivo è consentire una navigazione anonima. E’ bene precisare che la navigazione privata, presente come opzione nei browser stardard, non è una navigazione anonima. Per una navigazione “completamente” anonima servono comunque ulteriori attenzioni nella configurazione/uso del browser tor magari in combinazione con una VPN.
Il browser TOR sfrutta la rete Tor ( The Onion Router ), una rete cifrata che si basa su un un’architettura a strati ( onion = cipolla ). Ogni nodo che compone la rete Tor e che viene attraversato prima di raggiungere il server di destinazione applica una cifratura aggiuntiva ai dati in transito. Questo fa si che il server di destinazione non possa conoscere l’ip reale dell’utente ma esclusivamente l’ip dell’ exit node cioè il nodo di uscita dalla rete Tor.

Per installare Tor Browser ( che è un applicativo multipiattaforma Linux, Windows, Mac ) è possibile scaricare il pacchetto direttamente dai server del progetto Tor https://www.torproject.org

https://www.torproject.org/download/languages/

decomprimere nel caso della versione a 64 bit con

tar -xvJf tor-browser-linux64-8.0.3_LANG.tar.xz

( LANG è il linguaggio presente nel filename).

Per lanciare il browser Tor passare nella directory generata dopo aver eseguito la decompressione del tipo :

cd tor-browser_LANG

Per avviare Tor Browser, si può eseguire da terminale start-tor-browser.desktop file in a terminal:

./start-tor-browser.desktop

Questo lancerà il Tor Launcher una volta connessi alla rete Tor verrà avviata una versione specifica del Browser Firefox per la rete Tor.
ATTENZIONE: Non decomprimere e avviare TorBrowser come root.

Risorse:

Come identificare la scheda o tab di Chrome/chromium che sta consumando più CPU

Quando si hanno aperte più schede/ tab in chrome/chromium può capitare che il consumo di cpu salga a valori elevati che possono raggiungere talvolta anche il 100% .

E’ possibile risolvere questa situazione terminando i tab /schede responsabili di questa situazione facendo ricorso al task manager del Browser.  Chrome infatti dispone di un task manager integrato che consente di visualizzare le risorse  ( cpu e memoria)  utilizzate dal browser è da ciascuna delle schede in generale dai task attivi.
Grazie al pulsante End Process per terminare  il task/tab selezionato.

Per accedere al task manager di Chrome In Linux e Windows Premere [Shift] + [ESC].
Oppure utilizzando il menu selezionare

Menu > More Tools > Task Manager

 

 

ODFGrandorgue nuovi organi virtuali e pianoforti per grandorgue 0.3

** Virtual Organ free Sample Sets – Campioni per organo virtuale gratis   **

Il sito  francese ODFGRANDORGUE, ospitato su sites.google.com, è stato completamente riorganizzato attualmente sono presenti oltre 30 strumenti virtuali per grandorgue 0.3 liberamente scaricabili.

ODFGrandorgue

ODFGrandorgue

Diversi gli organi virtuali presenti tra i quali

110-Orgue Puget de Belleville

111-Orgue du Val-de-Grace

113-Orgue de Moret sur Loing

114- Orgue d’Aubigny

115-Orgue de Barbeville

Sono presenti diversi strumenti paritcolari oltre a pianoforti, harmonium, accordeon, vibrafono. Di seguito i links ad alcuni  di questi:

151-Clavecin Orgue

160-Trompettes Orgue

301-Harmonium

401-Grand Piano

402-Bright Piano

ODFGrandorgue

ODFGrandorgue

552-Xylophone 44 lames

553-Vibraphone

Inotre sono disponibili informazioni in lingua francese relativamente all’uso di grandorgue con dettagli sulla modifica/creazione di altri strumenti virtuali per grandorgue

05-Tout sur le fichier de lancement ODF – ODFGRANDORGUE

521-Méthode mirroir

nonchè costruzione/impostazione di console virtuali

12-Plans d’installations et Normes

121-Plans d’installations – ODFGRANDORGUE

ODF Grandorgue

ODF Grandorgue

Risorse nel blog:

Screenshot dello schermo del MacBook pro

apple_sRisulta agevole catturare schermate con il Macintosh, com’è  logico attendersi Apple prevede per certe azioni comportamenti di tipo standardizzato pertanto per la cattura delle schermate (screenshot ) sono disponibili le tre classiche opzioni cattura schermata intera, cattura finestra e cattura porzioni di schermo attivabili tutte con una combinazione di tasti .

Per catturare l’intera schermata premere e tenere premuti in rigorosa sequenza  i tasti

[CMD] -> [SHIFT] -> [3]

Per catturare una finestra o elementi distinti dello schermo clikkare in sequenza

[CMD] -> [SHIFT] -> [4]    

rilasciare e premere  la barra spaziatrrce  [SPACE BAR]

Appare l’icona di una macchina fotografica al posto del cursore. Selezionare l’oggetto da cattuare che si evidenzierà al passaggio del mouse. Quindi clikkare

Per effettuare lo screenshot di una porzione di schermo  sempre in sequenza

[CMD] -> [SHIFT] -> [4]    

selezionare l’area desiderata e rilasciare .

Formato screenshot da .png a .jpg

Gli screenshot usualmente sono in formato .png e vengono salvati a livello di desktop per cambiare il formato  aprire il terminale. Per aprire il terminael: In spotlight digitare terminal  oppure applicazioni -> utility

Quindi digitare

defaults write com.apple.screencapture type jpg

Logout e Login per attivare la modifica. Ovviamente l’operazione può essere ripetuta   Altro su cattura schermatee: