Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Редактирование ID3v2 тегов
 
 автор: class   (07.02.2010 в 02:44)   письмо автору
 
 

Здравствуйте. Пытаюсь отредактировать ID3v2 теги таким вот кодом, но ничего не редактируется.

Подскажите в чем может быть проблема.


<?
$file 
'music.mp3';

// создаем объект, читаем данные 
$id3 = &new MP3_Id(); 
$result $id3->read($file); 
// Ошибка "Tag not found" игнорируется 
if (PEAR::isError($result) && $result->getCode() !== PEAR_MP3_ID_TNF) { 
die(
$result->getMessage() . "\n"); 


// Определяем информацию 
$id3->setTag('title''Text 1'); 
$id3->setTag('comment''Text 2'); 

// Записываем информацию в тег 
$result $id3->write(); 
if (
PEAR::isError($result)) { 
die(
$result->getMessage() . "\n"); 
}
?>

  Ответить  
 
 автор: chexov   (07.02.2010 в 03:10)   письмо автору
8.1 Кб
 
   для: class   (07.02.2010 в 02:44)
 

тут кое что есть по вашему вопросу http://www.softtime.ru/info/articlephp.php?id_article=64

в аттаче сосбвенно сами библиотеки

  Ответить  
 
 автор: class   (07.02.2010 в 03:49)   письмо автору
 
   для: chexov   (07.02.2010 в 03:10)
 

Этот кусок кода оттуда и есть =))
Нужные библиотеки у меня подключены.

  Ответить  
 
 автор: chexov   (07.02.2010 в 06:52)   письмо автору
 
   для: class   (07.02.2010 в 03:49)
 

попробуйте вместо

$id3->setTag('title', 'Text 1');


вставить

$id3->setTag('name', 'Text 1');


если не выйдет, то попробуйте вначале очистить тег

$result = $id3->remove(); 

  Ответить  
 
 автор: class   (07.02.2010 в 07:43)   письмо автору
 
   для: chexov   (07.02.2010 в 06:52)
 

$result = $id3->remove();


это очистит все теги, как я понял?

  Ответить  
 
 автор: chexov   (07.02.2010 в 07:47)   письмо автору
 
   для: class   (07.02.2010 в 07:43)
 

да все, затем задайте теги заново, вы попробовали заменить title на name?

  Ответить  
 
 автор: class   (07.02.2010 в 07:50)   письмо автору
 
   для: chexov   (07.02.2010 в 07:47)
 

пробовал, не помогло

  Ответить  
 
 автор: chexov   (07.02.2010 в 08:03)   письмо автору
25.8 Кб
 
   для: class   (07.02.2010 в 07:50)
 

<? 
include_once('mp3.php');//Использую аттачи которые я привел выше
$file 'music.mp3'

// создаем объект, читаем данные  
$id3 = &new MP3_Id();  
$result $id3->read($file);  
// Ошибка "Tag not found" игнорируется  
if (PEAR::isError($result) && $result->getCode() !== PEAR_MP3_ID_TNF) {  
die(
$result->getMessage() . "\n");  
}  

// Определяем информацию  
$id3->setTag('name''Text 1');  
$id3->setTag('comment''Text 2');  

// Записываем информацию в тег  
$result $id3->write();  
if (
PEAR::isError($result)) {  
die(
$result->getMessage() . "\n");  

?>


в аттаче скрин, теги как видишь поменялись

  Ответить  
 
 автор: class   (08.02.2010 в 00:29)   письмо автору
 
   для: chexov   (07.02.2010 в 08:03)
 

Хм. Вроде редактируются теги, но в проигрывателе и в свойствах файла пусто.
А скриптом выводит эти теги.
Из-за чего это может быть?

  Ответить  
 
 автор: chexov   (08.02.2010 в 02:24)   письмо автору
 
   для: class   (08.02.2010 в 00:29)
 

может дело в проигрывателях, как видите, аттач из winamp, а там теги видны:)

  Ответить  
 
 автор: class   (08.02.2010 в 02:34)   письмо автору
 
   для: chexov   (08.02.2010 в 02:24)
 

В свойствах файла, так-же не видно ID3 тегов.
Да и вообще ничего не видно, не битрейта, не длительности и т.д.

  Ответить  
 
 автор: chexov   (08.02.2010 в 02:39)   письмо автору
 
   для: class   (08.02.2010 в 02:34)
 

стоп:
$id3->setTag('name', 'Text 1');   
$id3->setTag('comment', 'Text 2'); 


ЭТА информация видна?
конкретно: Заголовок и Комментарий

  Ответить  
 
 автор: class   (08.02.2010 в 04:50)   письмо автору
 
   для: chexov   (08.02.2010 в 02:39)
 

Нет, ничего не видно.

Может это из-за того, что я перед этим изменяю битрейт с помощью ffmpeg?


<?  
$in_file 
'in_music.mp3';

$out_file 'out_music.mp3';

exec("ffmpeg -i $in_file -ab 128k -ac 2 -ar 44000 $out_file");

include_once(
'mp3.php');  

// создаем объект, читаем данные   
$id3 = &new MP3_Id();   
$result $id3->read($out_file);   
// Ошибка "Tag not found" игнорируется   
if (PEAR::isError($result) && $result->getCode() !== PEAR_MP3_ID_TNF) {   
die(
$result->getMessage() . "\n");   
}   

// Определяем информацию   
$id3->setTag('name''Neuer Titel'); 
$id3->setTag('artists''Andere Band'); 
$id3->setTag('album''Schlagertraum #3'); 
$id3->setTag('year'1984); 
$id3->setTag('comment''Volksmusikal. Hochgenuss'); 
$id3->setTag('genre''Folk'); 
$id3->setTag('track'5);

// Записываем информацию в тег   
$result $id3->write();   
if (
PEAR::isError($result)) {   
die(
$result->getMessage() . "\n");   
}  
?>

  Ответить  
 
 автор: chexov   (08.02.2010 в 05:25)   письмо автору
 
   для: class   (08.02.2010 в 04:50)
 

я не могу понять, зачем вы используете для смены битрейта сторонний класс? когда ID3 включает в себя эту возможность

$id3->setTag('bitrate', '192');


а это уберите
<? exec("ffmpeg -i $in_file -ab 128k -ac 2 -ar 44000 $out_file"); ?>

  Ответить  
 
 автор: class   (08.02.2010 в 05:38)   письмо автору
 
   для: chexov   (08.02.2010 в 05:25)
 

Ваш вариант не изменит битрейт ;)

  Ответить  
 
 автор: class   (08.02.2010 в 08:05)   письмо автору
 
   для: class   (07.02.2010 в 02:44)
 

Подскажите как изменить ID3 теги, если перед этим я изменял битрейт с помощью
exec("ffmpeg -i $in_file -ab 128k -ac 2 -ar 44000 $out_file");

Либо какой командой ffmpeg изменить битрейт без изменения ID3 тегов?

  Ответить  
 
 автор: class   (09.02.2010 в 09:39)   письмо автору
49.5 Кб
 
   для: class   (08.02.2010 в 08:05)
 

Пробовал командой:

ffmpeg -i $in_file -ab 64k -ac 2 -ar 24000 -map_meta_data $out_file:$in_file  $out_file

Вроде как ID3 теги скопировались (через winamp показывает их, но с кодировкой проблемы, а вот в свойствах файла ничего так-же не показывает).
Прикрепил скрин, где показаны свойства до и после конвертирования.

  Ответить  
 
 автор: class   (11.02.2010 в 09:46)   письмо автору
65.5 Кб
 
   для: class   (09.02.2010 в 09:39)
 

здравствуйте.
Может кто помочь с этими командами ffmpeg?
Уже несколько дней мучаюсь и без результатов.

Пробую этой командой изменить битрейт и копировать теги исходного файла.

ffmpeg -i test1.mp3 -ab 64k -map_meta_data test2.mp3:test1.mp3 test2.mp3


Битрейт меняется, а вот теги и информация о длительности, битрейте и т.д. исчезает (смотрю в свойствах файла на ОС Windows).

Прикрепил скрин, где всё это видно.

  Ответить  
 
 автор: class   (19.02.2010 в 00:39)   письмо автору
 
   для: class   (11.02.2010 в 09:46)
 

Вот уже вторую неделю мучаюсь и никаких сдвигов.

Поддержка посылает на документацию, хотя я писал эту команду по документации.

Если никто не может помочь с этим бесплатно, то готов даже заплатить за помощь.

  Ответить  
 
 автор: DraGO777   (23.03.2010 в 04:40)   письмо автору
 
   для: class   (19.02.2010 в 00:39)
 

Я не экспериментировал, но выскажу несколько предположений на эту тему. Будем исходить из того что всё это в линуксе делается. Во первых на файле должны мне кажется права стоять на запись. 666 . Это что тегов касается. Так же вполне вероятно что после изменения битрейта средствами ffmpeg сервер назначил файлу скажем так несовместимые с жизнью права пользователя. То есть права сервера. Насколько я понимаю по фтп права поменять на файле уже не получится. И по моему средствами php права пользователя у сервера уже не отобрать. Возможно и по этой причине сервер не дает ничего записывать в новый сформировавшийся файл. Вот как то так :-)

  Ответить  
 
 автор: class   (25.05.2010 в 06:08)   письмо автору
 
   для: DraGO777   (23.03.2010 в 04:40)
 

т.е. средствами PHP + exec() никак не переконвертировать mp3 файл с сохранением Id3 тегов? =)

  Ответить  
 
 автор: class   (11.06.2010 в 10:56)   письмо автору
 
   для: class   (07.02.2010 в 02:44)
 

С этой проблемой разобрался.

Дабы не создавать новой темы, то спрошу здесь =)

Подскажите как добавить в MP3 изображение альбома средствами PHP?

  Ответить  
 
 автор: RyhoR   (22.10.2010 в 11:57)   письмо автору
 
   для: class   (07.02.2010 в 02:44)
 

у меня тажа проблема - но мне хотябы нужно удалить ID3v2 тег из mp3
как сделать? напишите мне пожалуйста

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования