MediaPlayer και Subtitles
Καλησπέρα σας,
Υπάρχει τρόπος ο MediaPlayer να μπορεί να παίξει τα iso (πχ iso-8859-7) subtitles.
Ο λόγος που θα ήθελα να γίνεται αυτό είναι ότι οι δύο τηλεοράσεις που έχω (LG) έχουν media player ο οποίος όμως χρειάζεται iso subtitles.
Ok, θα πεί κάποιος να αλλάζω τα utf8 σε iso, ναι δουλεύει έτσι μια χαρά, απλώς θα ήθελα να το αποφύγω αυτό! )=.*:
Λογικά ο κώδικας με τον οποίο λειτουργούν τα subtitles είναι ο παρακάτω:
http://openpli.git.sourceforge.net/g...p3.cpp;hb=HEAD
Code:
441 char srt_filename[strlen(filename)+1];
442 strncpy(srt_filename,filename,strlen(filename)-3);
443 srt_filename[strlen(filename)-3]='\0';
444 strcat(srt_filename, "srt");
445 if (::access(srt_filename, R_OK) >= 0)
446 {
447 eDebug("eServiceMP3::subtitle uri: %s", g_filename_to_uri(srt_filename, NULL, NULL));
448 g_object_set (G_OBJECT (m_gst_playbin), "suburi", g_filename_to_uri(srt_filename, NULL, NULL), NULL);
449 }
Και λέω τώρα αν στον παραπάνω κώδικα μπεί ακόμη μία if η οποία θα ελέγχει αν υπάρχει το usrt (u απο το utf-8 ) δεν θα λυθεί το πρόβλημα;
Code:
char srt_filename[strlen(filename)+1];
char usrt_filename[strlen(filename)+2];
strncpy(srt_filename,filename,strlen(filename)-3);
strncpy(usrt_filename,filename,strlen(filename)-3);
srt_filename[strlen(filename)-3]='\0';
usrt_filename[strlen(filename)-3]='\0';
strcat(srt_filename, "srt");
strcat(usrt_filename, "usrt");
if (::access(usrt_filename, R_OK) >= 0)
{
eDebug("eServiceMP3::subtitle uri: %s", g_filename_to_uri(usrt_filename, NULL, NULL));
g_object_set (G_OBJECT (m_gst_playbin), "suburi", g_filename_to_uri(usrt_filename, NULL, NULL), NULL);
}
else if (::access(srt_filename, R_OK) >= 0)
{
eDebug("eServiceMP3::subtitle uri: %s", g_filename_to_uri(srt_filename, NULL, NULL));
g_object_set (G_OBJECT (m_gst_playbin), "suburi", g_filename_to_uri(srt_filename, NULL, NULL), NULL);
}
Επίσης δεν ξέρω αν είναι ιδέα μου, αλλά νομίζω οτι ο παραπάνω έλεγχος λειτουργεί μόνο για video που έχουν τρείς χαρακτήρες στο extension (mkv, avi), θα πρέπει να το τσεκάρω αν όντως ισχύει.
Υπάρχει κάποια άλλη ιδέα;
Αν το παραπάνω είναι όντως λύση, λέτε να το στείλω στο forum του openpli για review;
Ευχαριστώ,
Απ: MediaPlayer και Subtitles
Καλησπέρα σας,
Το πρόβλημα με το extension όταν δεν είναι 3 γράμματα υπάρχει όντως...
Άνοιξα thread στο openpli forum, επίσης έκανα και την πρόταση για το usrt extension που περιέχει utf-8 subtitles και βλέπουμε.
http://openpli.org/forums/topic/2604...ers-extension/
Απ: MediaPlayer και Subtitles
Η διόρθωση με το σφάλμα στα srt όταν το extension δεν είναι 3 χαρακτήρες έγινε ήδη commit!
Code:
servicemp3: properly find basic subtitle files
the code assumed the file extention was always 3 characters but that
is a wrong assumption. So just base it on the existing ext variable.
http://openpli.git.sourceforge.net/git/gitweb.cgi?p=openpli/enigma2;a=commit;h=e22ad87c7955cb4849dcceab8b8154f32322304b
Ελπίζω το "basic subtitle files" να υποδηλώνει ότι το επόμενο commit θα ψάνει για srt βασισμένο στα preferences της γλώσσας των υποτίτλων.
Βλέπουμε...
Απ: MediaPlayer και Subtitles
Καλησπέρα σας,
Εφόσον κανένας δεν υπήρχε κάποιος να προσθέσει τα subtitles από τα user preferences στον Media Player, ανέλαβα να φτιάξω το patch μόνος μου.
Πλέον o media player μπορεί και αναγνωρίζει ονόματα της μορφής όνομα.XX.srt. Όπου το XX είναι πχ el, en, it κλπ.
Code:
...
eServiceMP3::construct!
eServiceMP3::playbin2 uri=file:///media/usb/C1n3ma.Parad1s0.Sample.avi
eServiceMP3::searching for subtitle uri: file:///media/usb/C1n3ma.Parad1s0.Sample.el.srt
eServiceMP3::subtitle uri: file:///media/usb/C1n3ma.Parad1s0.Sample.el.srt
eServiceMP3::starting pipeline
...
eServiceMP3::construct!
eServiceMP3::playbin2 uri=file:///media/usb/C1n3ma.Parad1s0.Sample.avi
eServiceMP3::searching for subtitle uri: file:///media/usb/C1n3ma.Parad1s0.Sample.he.srt
eServiceMP3::searching for subtitle uri: file:///media/usb/C1n3ma.Parad1s0.Sample.en.srt
eServiceMP3::unknown subtitle lang: ---
eServiceMP3::searching for subtitle uri: file:///media/usb/C1n3ma.Parad1s0.Sample.zz.srt
eServiceMP3::unknown subtitle lang: ---
eServiceMP3::searching for subtitle uri: file:///media/usb/C1n3ma.Parad1s0.Sample.zz.srt
eServiceMP3::subtitle uri: file:///media/usb/C1n3ma.Parad1s0.Sample.srt
eServiceMP3::starting pipeline
...
http://openpli.org/forums/topic/2604...67#entry309767
Τώρα μένει κάποιος να κάνει commit το patch..
Απ: MediaPlayer και Subtitles
Καλησπέρα σας,
Όπως φαίνεται δεν ενδιαφέρονται αρκετοί χρήστες για το παραπάνω feature. Ωστόσο μετά από αρκετές προσπάθειες κατέφερα να κάvω τους ISO-8859-7 subtitles να δουλέψουν!
Βήμα 1) Κατεβάζουμε το πακέτο eglibc-gconv-iso8859-7
Code:
opkg install eglibc-gconv-iso8859-7
Βήμα 2) Κάνουμε επεξεργασία το αρχείο /usr/bin/enigma2.sh βρίσκουμε και αλλάζουμε την παρακάτω γραμμή
Από LD_PRELOAD=$LIBS /usr/bin/enigma2
Σε LD_PRELOAD=$LIBS GST_SUBTITLE_ENCODING="ISO-8859-7" /usr/bin/enigma2
Βήμα 3) Κάνουμε restart & πλέον βλέπουμε Ελληνικά με subtitles που είναι ISO-8859-7 (λογικά και Windows-1253 εκτός από το Ά νομίζω)
Ελπίζω να σας βοηθήσει το παραπάνω.
Για περισσότερες πληροφορίες δείτε εδώ.
Καλό σας βράδυ,
athoik
Απ: MediaPlayer και Subtitles
ευχαριστούμε φίλε πολύ καλό φαίνεται μόλις βρω λίγο χρόνο θα το δοκιμάσω