Поддержка Проблемы и решения При загрузке mp3 не верно распознается исполнитель по-русски, альбом и др.

  • При загрузке mp3 не верно распознается исполнитель по-русски, альбом и др.

    ошибка

    Как сделать так, чтобы исполнитель, альбом, заголовок и т.п. в аудио файле распознавались верно?

Просмотр 6 ответов — с 16 по 21 (всего 21)
  • @sevlad
    И что что есть процессоры у мафона? На серваке они тоже есть (в см. железные и многоядерные)

    Извините но ваш ответ меня никак не устраивает — т.к. я лично понимаю — что такую задачу, либа, используемая в ВП, должна решать. Обычный набор символов — а она их выдернуть оттуда не в состоянии. Аимп — может и умеет — как на пк — так и в смартфоне. Даже блокнот и тот видит все по русски внутри mp3 файла.

    Почему-то с jpg названными по русски медиабиблиотека работать умеет. А вот с аудио нет — значит виновна.

    @otshelnik-fm

    И что что есть процессоры у мафона? На серваке они тоже есть (в см. железные и многоядерные)

    Ну вот сервак и пускай работает. Но нагружать этим вебсервер — так же безумно, как и напр, файрвол на пхп. Да, делают, но.. каких только безумств не рожают безумные улучшатели (с)ЮБ.
    Та же обработка картинок — не задача пхп. Но тоже применяют. Но это не сравнится с десктопом по нагрузке и скорости. А ведь вебсервер в это время ещё должен выполнять основную работу — обслуживать юзеров. Думаю не нужно лишний раз напоминать об этой, основной нагрузке?

    Вебсервер — это уже доп ПО. Это всё равно что Ворд заставлять извлекать.. ну напр из аvi/mkv некие данные и потом с ними что-то делать.
    А пхп — это ещё доп надстройка над вебсервером.

    Вы же разработчик — попробуйте сами выдрать из мп3 теги и отобразить их в разном серверном окружении, с разным библиотеками. Я не говорю что это невозможно (отобразить — в целом не сложно, есть кучка либ), но это и нагрузка и с унифицированием не всё хорошо. (99% хостинг-сервера до сих пор не умеют корректно с кириллическими названием файлов работать, чего уж про глубже мечтать..)

    И вообще показывать и проигрывать — это задача проигрывателя. Отдельного модуля.

    • Ответ изменён 4 года, 9 месяцев назад пользователем SeVlad.

    вот тут я полностью поддержу SeVlad

    @sevlad дернуть теги из файла — это не «нагружать»

    Что-то вы весь контекст передернули. Советую перечитать начало проблемы.

    Хотел поспорить — но в итоге стер всё.

    Итак топикстартеру: библиотека getid3 использует кодировку ISO-8859-1 а нам нужна CP1251

    Как сменить ее в ВП — я не подскажу. Но @sevlad-у отвечу:

    function get_tag_mp(){
        require( ABSPATH . WPINC . '/ID3/getid3.php' );
    
        $id3 = new getID3();
        $data = $id3->setOption(array('encoding_id3v1'=>'CP1251'));
        $file = wp_get_upload_dir()['basedir'] . '/1.mp3';
        $data = $id3->analyze( $file );
        var_dump($data['tags']['id3v1']);
    }
    add_action('init','get_tag_mp');

    и мы видим: https://yadi.sk/i/z-zNeCvC3H27yw — все по-русски

    Это я к его большому тексту в которую я не поверил. Все возможно. Не нужно придумывать басни про ацп и процессоры. Ну да я потратил час на поиски ответа — т.к. меня его ответ зацепил. Глубоко в душе я подозревал что такой проблемы в 21 веке быть не может.

    Ну а как топикстартеру помочь практически — увы я не подскажу. У ВП я уверен есть элегантное решение. Надо поискать

    
    $data = $id3->setOption(array('encoding_id3v1'=>'CP1251'));
    

    Отличное решение!.. для CP1251. А она — одна из многих. И если utf-8 на программном уровне можно легко отличить от восьмибитной даже без горячо любимого BOM, то одну восьмибитную от другой восьмибитной — разве что применением частотных словарей для анализа текста. Посему: если в источнике явно не указана кодировка контента, задача «угадать» отнюдь не так тривиальна, как может показаться на первый взгляд. У меня всё. Спасибо за внимание. С наступающим светлым праздником!

    Я думаю это не проблема движка как такового. Это скорее системная проблема.
    Конечно можно, с пом. пхп перекодировать теги mp3 и даже заново формировать файл, но это в целом не задача ни пхп ни вебсервера.

    Коллеги, PHP прекрасно работает с разными кодировками, для этого совершено не нужно менять файлы mp3. Всё, что нужно, чтобы при загрузке mp3 файлов в том месте, где wordpress считывает эти теги, он посмотрел еще в др. опции mp3 файла, там где указано, в какой кодировке реально записаны теги, далее iconv в помощь, перекодировать в utf-8 при необходимости и записать в базу!

    @sevlad дернуть теги из файла — это не «нагружать»

    Поддерживаю.

    P.S. проги же обычные, например, winamp понимает в какой кодировке теги записаны…

    • Ответ изменён 4 года, 9 месяцев назад пользователем craft.
    • Ответ изменён 4 года, 9 месяцев назад пользователем craft.
    • Ответ изменён 4 года, 9 месяцев назад пользователем craft.
    • Ответ изменён 4 года, 9 месяцев назад пользователем craft.
    • Ответ изменён 4 года, 9 месяцев назад пользователем craft.
Просмотр 6 ответов — с 16 по 21 (всего 21)
  • Тема «При загрузке mp3 не верно распознается исполнитель по-русски, альбом и др.» закрыта для новых ответов.