Newsgroup: it.comp.macintosh
Titolo: Film dentro iTunes

[PREMESSA: C'� una domanda e una soluzione, chi vuole intervenire � il 
benvenuto]
Ho provato svariati software per gestire la mia consistente libreria di 
cinema e serie tv, ma alla fine mi sono sempre trovato male.
Il miglior sistema sembrava essere Boxee (un fork di XBMC), molto 
funzionale e accattivante che rendeva il mio mac un telefisore (io la 
tivv� non ce l'ho).
Riusciva anche a pijarmi locandine e dettagli delle serie e dei film, 
tutto ben ordinato e piacevole da sfogliare e guardare.
Ma: il sistema di riconoscimento � acerbo e fa casino, tutto � 
localizzato SOLO in inglese, la gestione del riconoscimento non ha 
meccanismi di controllo dello stato. Mi rimane sempre qualche film 
fuori dalla lista, ma non so mai quali ed � difficile capire il perch�. 
Il tutto rimane quindi pendente "scanning" e io mi rompo le palle.
Abbandonato il sistema ne ho provati altri. Quello che vorrei � un 
iTunes dei film, ordinati per genere, regista e magari pure con filtri 
sulla lingua, sottotitoli e via dicendo.
Lo so, un software cos� fico non esiste, per� ho cercato ugualmente.
Cos� ho provato giusto Boxee, XBMC, Mir� e tante cazzatine di piccole 
software house.
Niente di che, non risolvono i miei problemi.
Anche perch� gli MP3 li tagghi una volta (provate MusicBrainz Picard se 
non lo conoscete) e senza romperti le scatole, i film � un po' pi� un 
casino.
I formati taggabili solo solo MP4 e MKV, tutti gli altri si affidano al 
tagging di un programma con il risultato che cambi programmi, perdi il 
tagging.
Spesso poi i film che abbiamo non hanno un solo formato e l'idea di 
convertirli non ha senso, ore e ore perse, perdita di qualit� e cos� 
via.
Cos� alla fine mi sono chiesto, a me iTunes piace molto per la musica, 
e per i filmi?
iTunes importa senza problemi gli MP4, ha un sistema di tagging 
pseudo-decente (da migliorare) ma che comunque mi pu� bastare.
Ma tutti i vari DivX e altri formati sono fottuti.
Ma qui scopro una soluzione.
Esiste un file di tipo MOV chiamato Reference File. Ne esiste una 
versione moderna (quella che produce l'attuale QuickTime) che crea un 
file MOV reincodando un filmato in un formato pi� piccolo (per iphone e 
amici). La versione antica (quella che creava il vecchio QuickTime, e 
che ora si pu� fare con qualche macumba via shell) era un file da 4kb 
in cui c'era un riferimento a un PATH (qualsiasi tipo di video visibile 
a quicktime [e quindi quasi tutto con PERIAN installato]) e rende 
qualsiasi video aggiungibile e playabile da iTunes (che usa quicktime).
Oggi come oggi non sapevo come fare questi reference movie, poi ho 
trovato questo:
http://dettmer.maclab.org/movie2itunes.html
� una piccola applicazione, la si apre per configurarla, poi ci si 
droppano sopra i file per creare i reference file (aggiunti in 
automatico su itunes).
La soluzione per ora mi va abbastanza bene (ho problemi con sottotitoli 
e tracce audio per alcuni video, ma per il resto la catalogazione mi 
piace).
Voi avete trovato soluzioni migliori?
-- 
---
namaste

Io ho usato lo stesso script, ma ha come nota negativa che comunque i film
inseriti in questo modo non sono visibili su ATV2 (che, senza JB, non
dispone di perian).
Piano piano sto convertendo tutto in mp4 da caricare sul server di casa e,
tramite condivisione famiglia, li rendo disponibili a tutti i dispositivi
di casa.
-- 
inviato da mobile



non avendo TV la cosa non mi tangeva :)
l'idea di convertire tutto mi annoia terribilmente: come stai 
procedendo? cosa usi? riesci a semiautomatizzarlo? tagging dell'mp4? 
sottotitoli, audio multipli, si mantengono?
-- 
namaste

 sottotitoli, audio multipli, si mantengono?
Effettivamente la parte noiosa è convertire il pregresso: sul nuovo
porta via una 40ina di minuti quando aggiungi un film DVD-ripped.
Io uso Handbrake: puoi crearti presets personalizzati di conversione e
gestisce conversioni batch di più file.
In merito ai sottotitoli non so dirti: il materiale in lingua originale
sottotitolato che possiedo ha i sottotitoli direttamente nel video e li
non ci sono problemi.
Ciao

 sottotitoli, audio multipli, si mantengono?
avevo scritto una roba sul trasconding e il (de)muxing via script
batch e user agent, ma mentre facevo ricerche mi sono imbattuto in
questo:
[cit]
Another method of adding AVI files to iTunes
Authored by: n3Mo on Apr 13, '09 11:35:15AM
This is a great tip! I now use this
http://www.apple.com/downloads/macosx/automator/changefiletypeandcreator.html
Automator Action to set the creator/type for a bunch of files. Then I
am dragging them to iTunes and uses
http://dougscripts.com/itunes/scripts/scripts01.php?page=1#setvideokindofselected
Doug's Applescript to set the video type from within iTunes. Works
very well.
[/cit]
(da 
http://hints.macworld.com/article.php?story=20070401114012561
)

 gestisce conversioni batch di più file.
la ricodifica pero' sarebbe meglio evitarla. piuttosto demuxare i
flussi audio/video e rimuxarli in un container supportato.
in modalita' batch lo puoi fare con uno script shell e ffmpeg, volendo
aggiungendo un po' di finezze che gestiscono sottotitoli esterni e
altre amenita' (forse te la cavi anche con automator, mai testato
pero')
una volta che hai lo script lo puoi lanciare sull'archivio pregresso o
farlo partire in automatico con un user agent che usi fsevent sui file
nuovi (alla fine ho scritto cmq quello che avevo cancellato nel primo
msg)

 pero')
penso questa sia la via giusta, mi piacerebbe molto fare mkv.
domani ci studio sopra, non ho mai usato ffmpeg ma alla fine è
IL convertitore video.
grazie per le idee.
-- 
namaste



non vedo vantaggio rispetto al reference, anzi, mi sembra si perda più 
tempo alla fine.
-- 
namaste

 tempo alla fine.
non avresti i 2mb dei reference per video... pero' forse e' l'unico
vantaggio in effetti

 IL convertitore video.
se devi fare mkv e' la soluzione perfetta: perche' mkv supporta
fondamentalmente ogni tipi di codec (o almeno i codec "utili" per
questo tipo di video), e i flussi audio/sottotitoli multipli
lo script a cui lavor(av)o estrae le informazioni sui flussi del file
di input, cerca i sottotitoli esterni (serve un minimo di convenzione
nei nome dei file) e costruisce le opzioni da passare a ffmpeg (che e'
la parte piu' ostica)
appena recupero lo script lo carico su qualche nopaste



se lo trovi, passa passa, sono molto curiosso.
cmq la scelta degli MKV non è ovviamente casuale, ma è
proprio per i motivi che esponevi tu
-- 
namaste



no ma figurati, la soluzione tua è ottima, solo che ora come ora
mi è sembrata di una comodità estrema quel programmino, visto
che ci "lancio" sopra i file e mi appaiono in itunes :)
-- 
namaste

 proprio per i motivi che esponevi tu
ecco una versione "acerba":
[script]
#!/bin/sh
if [ "$#" -ne 2 ]; then
    echo "Usage $0 infile outfile"
    exit
fi;
FFMPEG_PATH="/usr/local/bin/ffmpeg"
INPUT="$1"
OUTPUT="$2"
FORMAT="matroska"
# questa parte va sostituita vedi [1]
VIDEO_CODEC="copy"
AUDIO_CODEC="copy"
# manda l'output di ffmpeg su stdin che viene reindirizzato sul file
di output
# (il passaggio e' necessario per far digerire a ffmpeg il parametro
sull'audio secondario)
exec "${FFMPEG_PATH}" -fflags genpts -i "${INPUT}" -threads 4 \
     -vcodec ${VIDEO_CODEC} \
     -acodec ${AUDIO_CODEC} \
     -f ${FORMAT} - -acodec copy -newaudio > "${OUTPUT}"
[/script]
[1]
lo script cosi' com'e' prende due parametri: file di input e file di
output. copia il flusso video primario e i primi due flussi audio (il
secondo e' gestito da "-acodec copy -newaudio") in un container mkv.
per rendere il tutto piu' furbo, bisognerebbe estrarre i dati sui
flussi originari e metterli in qualche variabile da passare poi a
ffmpeg.
a riguardo ho trovato questi due link:
http://ubuntuforums.org/archive/index.php/t-1089215.html
 (non usa
ffmpeg)
http://lists.mplayerhq.hu/pipermail/ffmpeg-user/2006-September/004274.html
(e' un thread vecchiotto, puo' essere che le cose siano cambiate)
tocca anche cambiare i parametri da passare, pero', e usare -map (vedi
http://howto-pages.org/ffmpeg/#map
). tutto da gestire in maniera
dinamica.
non essendo un mago di bash non mi ci sono ancora avventurato
i sub esterni li puoi ricavare con qualche convenzione nel nome dei
file. potrebbe non essere necessario usare -map, ma semplicemente -
scodec
per quanto mi riguarda lo script di partenza e' buono per la maggior
parte dei video: difficilmente ho file di input per i quali ho
necessita' di una gestione piu' approfondita
da ultimo: alcuni codec non sono supportati da matroska (relativamente
pochi, rispetto a quelli utilizzati di norma), in questo caso
andrebbero convertiti invece che passati tramite "copy" (usando -
vcodec e -b)

 ecco una versione "acerba":
Se può tornare utile per i vostri esperimenti, vi allego l' AppleScript
che uso per convertire i video per ATV2. L'ho trovato in rete (non
ricordo dove) e utilizza la CLI di HandBrake.
L'ho associato alla folder action, quindi mi è sufficiente trascinare i
file sulla cartella di conversione affinchè il processo si svolga in
automatico.
L'indentazione è andata a farsi benedire, ma incollando il testo nel
AppleScript Editor e facendo una compilazione, ve lo sistema lui
Magari vi può fornire uno spunto.
------------------
on adding folder items to this_folder after receiving these_items
        with timeout of (720 * 60) seconds
                tell application "Finder"
                        --Get all AVI and MKV files that have no label
color yet, meaning it hasn't been processed
                        set allFiles to every file of entire contents of
("Archivio:DVD Rip:Conversione Apple TV2" as alias) whose ((name
extension is "avi" or name extension is "mkv") and label index is 0)
 
                        --Repeat for all files in above folder
                        repeat with i from 1 to number of items in
allFiles
                                set currentFile to (item i of allFiles)
 
                                try
                                        --Set to gray label to indicate
processing
                                        set label index of currentFile
to 7
 
                                        --Assemble original and new file
paths
                                        set origFilepath to quoted form
of POSIX path of (currentFile as alias)
                                        set newFilepath to (characters 1
thru -5 of origFilepath as string) & "m4v'"
 
                                        --Start the conversion
                                        set shellCommand to "nice
/Applications/HandBrakeCLI -i " & origFilepath & " -o " & newFilepath &
" -e x264  -q 20.0 -r 29.97 --pfr  -a 1,1 -E faac,copy:ac3 -B 160,160 -6
dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 1280 --loose-anamorphic
-m ;"
                                        do shell script shellCommand
 
                                        --Set the label to green in case
file deletion fails
                                        set label index of currentFile
to 6
 
                                        --Remove the old file
                                        set shellCommand to "rm -f " &
origFilepath
                                        do shell script shellCommand
                                on error errmsg
                                        --Set the label to red to
indicate failure
                                        set label index of currentFile
to 2
                                end try
                        end repeat
                end tell
        end timeout
end adding folder items to

 ecco una versione "acerba":
Nel caso abbiate difficoltà con il copia/incolla:
http://dl.dropbox.com/u/4456997/HB-Apple%20TV2%20conv.scpt