Προς το περιεχόμενο

Επεξεργασία πολλαπλών αρχείων


Anti-WQZ

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας,

 

Θα ήθελα να ρωτήσω άμα γνωρίζουμε κανένα προγραμματάκι το οποιο να βάζω το τραγούδι + μια φωτογραφία και να δημιουργείται σε αρχείο .Avi για να γίνετε upload στο youtube π.χ σαν το Windows live movie maker αλλα χωρίς να το κάνω ένα ένα και νυχτώσω γιατί είναι λίγο πολλά... Υπάρχει ένα Multi Created πρόγραμμα που να κάνει αυτήν την δουλειά?

 

Thanks! :)

Δημοσ.

Το sony vegas έχει τη δυνατότητα να δημιουργεί και να ανεβάζει αυτόματα το αποτέλεσμα στο youtube.

Δεν κατάλαβα όμως τι θέλεις να κάνεις με το multi create. Θέλεις να παίρνει μόνο του μια φώτο και ένα τραγούδι και να τα ετοιμάζει σε avi και όταν τελειώσει να παίρνει άλλο; Με ποια κριτήρια θα διαλέγει το υλικό;

Δεν ξέρω αν με κάποιο script στο avisynth γίνεται κάτι τέτοιο.

Δημοσ.

Ζητω συγγνώμη για την καθυστερεί απάντησης λόγο υποχρεώσεων.

Ναι είναι αυτό που λες στο περίπου βεβαια, απλά θέλω ένα προγραμματάκι το οποιο να του βάζεις μια εικόνα την οποια θα έχει σε όλα τα βίντεο που θα δημιουργηθούν..το μονο που πρέπει να βρούμε είναι με κάποιον τρόπο να βάζεις την εικόνα + το τραγούδι που είναι σε μορφή .mp3 και να γίνετε convert σε .Avi αλλα να γίνετε αυτόματα σαν μια κατάταξη το οποιο να το παίρνει μονο του αντί να το κάνω εγώ ένα ένα για αυτό είπα κιόλας την λέξη Multi Created :)

Δημοσ.

FFMpeg + batch file νομίζω πως είναι συνδυασμός που θα κάνει τη δουλειά. Μόνο σε περίπτωση όμως που δεν έχεις αντίρρηση να «λερώσεις» λίγο τα χέρια σου, γιατί δεν είναι λύση εντελώς έτοιμη, εύκολη και με γραφικό περιβάλλον...

Δημοσ.

Ακόμα δεν κατάλαβα απόλυτα τι εννοείς, ίσως να φταίει ότι τώρα ξύπνησα. Θέλεις δηλαδή ένα πρόγραμμα όπου να του πεις ότι θέλω αυτή την φωτογραφία να την πάρεις, να διαλέξεις τραγούδια για να την επενδύσεις μουσικά και να κάνεις πολλά αρχεία βίντεο; Δεν νομίζω να υπάρχει τέτοιο πρόγραμμα.

Το batch που λες σημαίνει ότι εσύ θα ορίσεις και θα δημιουργήσεις τις παραμέτρους για την κάθε μετατροπή και αυτό θα αναλάβει να κάνει αυτό ακριβώς που του είπες.

Αυτό θα γίνει όπως είπε ο parsifal αλλά θέλει να γράψεις μόνος σου τις εντολές.

Δημοσ.

Πολύ ευχαρίστως να χρησιμοποιήσω το ffmpeg αλλα το θέμα είναι μπορεί το συγκεκριμένο πρόγραμμα να κάνει την δουλειά που θέλω? να του δώσω κάποια .mp3 + μια εικόνα και τα κάνει convert σε .Avi?

 

Και άμα το κάνει είναι εύκολο να μου δώσετε κάποιες συγκεκριμένες εντολές?

 

Thanks..

Δημοσ.

Έστω ότι έχεις ένα αρχείο εικόνας με όνομα "eikona.jpg" κι ένα αρχείο ήχου με όνομα "tragoudi.mp3" και διάρκεια Α δευτερόλεπτα. Για να πάρεις από αυτό ένα video σε Matroska container με διάρκεια επίσης Α sec και ρυθμό αναπαραγωγής 25fps, ένας τρόπος είναι αυτός:

 

>
ffmpeg -loop_input -i "eikona.jpg" -i "tragoudi.mp3" -acodec copy -vcodec libx264 -crf 18 -g 250 -r 25 -vframes Β "clip.mkv"

 

όπου Β = 25 * Α.

 

 

Για πολλαπλά αρχεία MP3 που βρίσκονται όλα στον ίδιο υποκατάλογο, μπορείς να τρέξεις την παρακάτω εντολή ενώ είσαι στον υποκατάλογο αυτό:

 

>
for %f in (*.mp3) do (ffmpeg -loop_input -i "eikona.jpg" -i "%f" -acodec copy -vcodec libx264 -crf 18 -g 250 -r 25 -vframes Β "%%~nf.mkv")

 

Θα πάρεις ισάριθμα αρχεία με filename ίδιο με τα αντίστοιχα MP3, μόνο που η κατάληξη θα είναι .mkv

Δημοσ.

Προσπάθησα να κάνω μια προσπάθεια αλλα δεν κατάφερα να κάνω κάτι, μου βγαίνει το παρακάτω:

 

>C:\ffmpeg\bin>ffmpeg -loop_input -i "C:\ffmpeg\bin\tracks\eikona.png" -i "C:\ffmpeg\bin\tracks\tragoudi.mp3" -acodec copy -vcodec libx264 -crf 18 -g 250 -r 25 -
vframes Β "clip.mkv"
ffmpeg version N-33436-g059707e, Copyright (c) 2000-2011 the FFmpeg developers
 built on Oct  9 2011 20:54:24 with gcc 4.6.1
 configuration: --enable-gpl --enable-version3 --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --en
able-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib

 libavutil    51. 20. 1 / 51. 20. 1
 libavcodec   53. 19. 1 / 53. 19. 1
 libavformat  53. 14. 0 / 53. 14. 0
 libavdevice  53.  4. 0 / 53.  4. 0
 libavfilter   2. 43. 6 /  2. 43. 6
 libswscale    2.  1. 0 /  2.  1. 0
 libpostproc  51.  2. 0 / 51.  2. 0
-loop_input is deprecated, use -loop 1
Input #0, image2, from 'C:\ffmpeg\bin\tracks\eikona.png':
 Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
   Stream #0:0: Video: png, bgra, 560x315, 25 fps, 25 tbr, 25 tbn, 25 tbc
-loop_input is deprecated, use -loop 1
[mp3 @ 02EFE900] Header missing
[mp3 @ 0033F060] max_analyze_duration 5000000 reached at 5015510
[mp3 @ 0033F060] Estimating duration from bitrate, this may be inaccurate
Input #1, mp3, from 'C:\ffmpeg\bin\tracks\tragoudi.mp3':
 Metadata:
   title           : tragoudi
   artist          : ├Β
 Duration: 00:05:43.30, start: 0.000000, bitrate: 127 kb/s
   Stream #1:0: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
Expected number for frames:v but found: ╬Τ

C:\ffmpeg\bin>

Δημοσ.

Για πολλαπλά αρχεία MP3 που βρίσκονται όλα στον ίδιο υποκατάλογο, μπορείς να τρέξεις την παρακάτω εντολή ενώ είσαι στον υποκατάλογο αυτό:

 

>
for %f in (*.mp3) do (ffmpeg -loop_input -i "eikona.jpg" -i "%f" -acodec copy -vcodec libx264 -crf 18 -g 250 -r 25 -vframes Β "%%~nf.mkv")

 

Θα πάρεις ισάριθμα αρχεία με filename ίδιο με τα αντίστοιχα MP3, μόνο που η κατάληξη θα είναι .mkv

 

Και η διάρκεια?

 

 

Προσπάθησα να κάνω μια προσπάθεια αλλα δεν κατάφερα να κάνω κάτι, μου βγαίνει το παρακάτω:

 

>C:\ffmpeg\bin>ffmpeg -loop_input -i "C:\ffmpeg\bin\tracks\eikona.png" -i "C:\ffmpeg\bin\tracks\tragoudi.mp3" -acodec copy -vcodec libx264 -crf 18 -g 250 -r 25 -
vframes Β "clip.mkv"
.....

 

Δεν έχεις ορίσει το vframes που σου είπε ο parsi. Το Β είναι 25 (ο αριθμός των fps) * Α (η διάρκεια)

Δημοσ.

Συγχωρέστε άμα γίνομαι λίγο κουραστικός αλλα είναι η πρώτη μου φορα που δουλεύω με αυτό το πρόγραμμα και δεν γνωρίζω πολλά για να το δουλέψω ( άσχετος που μπαίνω στα doc αλλα δεν με βοηθάνε και πολύ ).

 

Βρήκα μια εντολή η οποια είναι αυτή :

 

>
ffmpeg -loop_input -i C:\ffmpeg\tracks\eikona.png -i "C:\ffmpeg\tracks\tragoudi.mp3" -shortest -acodec copy "C:\ffmpeg\tracks\videotragoudi.avi"

 

και μου δουλεύει μια χαρά..

 

Εκεί που μπερδεύομαι είναι στην εντολή που μου δίνει ο parsifal για πολλαπλά αρχεία εδώ :

 

>for %f in (*.mp3) do (ffmpeg -loop_input -i "eikona.jpg" -i "%f" -acodec copy -vcodec libx264 -crf 18 -g 250 -r 25 -vframes Β "%%~nf.mkv")

 

και την βάζω στο cmd έτσι :

 

>C:\ffmpeg>for %f in (*.mp3) do (ffmpeg -loop_input -i C:\ffmpeg\tracks\eikona.png -i "%f" -acodec copy -vcodec libx264 -crf 18 -g 250 -r 25 -vframes 25 "%%~nf.mkv")

 

και δεν μου βγάζει τίποτα.

 

Οποτε έχουμε και λέμε :

 

1) Τα τραγούδια και η εικόνα βρίσκονται στο path αυτό : C:\ffmpeg\tracks

2) Tι σημαίνει το %f?

3) Και τέλος στο -vframes B αντί για B πρέπει να βάλω -vframes 25?

 

:huh:

Δημοσ.

1. Αφού τα τραγούδια και η εικόνα βρίσκονται στο C:\ffmpeg\tracks, θα πρέπει να εκτελέσεις την εντολή ενώ βρίσκεσαι στον κατάλογο αυτό. Το γράφω και πιο πάνω.

 

2. Το %f είναι μία μεταβλητή που παίρνει τιμές αυτόματα από τον βρόχο επανάληψης for %f in (*.mp3). Οι τιμές που παίρνει είναι τα filenames όσων MP3 αρχείων βρίσκονται στον τρέχοντα κατάλογο

 

3. Εδώ είναι λίγο tricky η κατάσταση και είναι δικό μου το λάθος. Έχει δίκιο ο orotoi πιο πάνω, δε θα δουλέψει έτσι γιατί η διάρκεια των clips δεν είναι κοινή (η εικόνα είναι κοινή, αλλά το τραγούδι διαφέρει κάθε φορά). Μπορείς να αφήσεις το autodetection του ffmpeg να αποφασίσει τη διάρκεια του κάθε ΜP3 κομματιού, αλλά φοβάμαι μήπως δημιουργηθούν προβλήματα όπως πρόωρη διακοπή του audio track. Δοκίμασέ το, δεν έχεις τίποτα να χάσεις. Θα απαλείψεις εντελώς την παράμετρο -vframes ΤΑΔΕ και θα χρησιμοποιήσεις οπωσδήποτε τις παραμέτρους -loop_input και -shortest μαζί

Δημοσ.

Δηλαδή συγκεκριμένα η εντολή που πρέπει να δώσω ποια είναι? γιατί προσπάθησα να κάνω κάτι αλλα κάποιο λάθος κάνω και δεν εκτελεί πάλι τίποτα! :fear:

 

Παιδιά τελικά είμαι της εντύπωσης ότι τα κατάφερα έκανα και ένα test για να δω άμα παίζει σωστά το τραγούδι και δεν παρατήρησα κάποιες έλλειψης, ορίστε και η εντολή που έδωσα :

 

>for %f in (*.mp3) do (ffmpeg -loop_input -i "C:\ffmpeg\eikona.png" -i "%f" -shortest -acodec copy "%~nf.avi")

 

Ευχαριστώ όλους που ασχοληθήκατε με το θέμα μου :)

Δημοσ.

Παιδιά τελικά είμαι της εντύπωσης ότι τα κατάφερα έκανα και ένα test για να δω άμα παίζει σωστά το τραγούδι και δεν παρατήρησα κάποιες έλλειψης, ορίστε και η εντολή που έδωσα :

 

>for %f in (*.mp3) do (ffmpeg -loop_input -i "C:\ffmpeg\eikona.png" -i "%f" -shortest -acodec copy "%~nf.avi")

Δε σου βγαίνεί χάλια ποιότητα με αυτές τις ρυθμίσεις; Ή πιο σωστά, με αυτές τις ελλιπείς ρυθμίσεις; Τα defaults του ffmpeg που αποφασίζει μόνο του κοιτώντας την κατάληξη που βάζεις (εδώ .avi) είναι αθλιότατα.

Δημοσ.

@orotoi ναι είμαι πολύ ευχαριστημένος όταν προσπαθώ να βρω κάτι που δεν είναι κάτι συνηθισμένο και επίσης δύσκολο αλλά στο τέλος τα καταφέρνω :-D

 

@parsifal να πω την αληθεια δεν είχα καπιο ιδιαίτερο πρόβλημα το μόνο που συνάντησα ήταν στην εικόνα που χαλάσανε μερικά pixels, από την άλλη η σωστές ρυθμίσεις στο να μην είναι ελλιπεις πιον κώδικα πρέπει να χρησιμοποιήσω χωρίς θεωρίες?

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...