Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Записать радио в MP3 с FM-тюнера.  (Прочитано 1330 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AndreyNag

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Записать радио в MP3 с FM-тюнера.
« : 16 Октября 2019, 10:22:45 »
Привет всем.
Есть ubunt'a с TV/FM-тюнером. MPLAYER с антенны замечательно воспроизводит в линейный выход. Даже в файл записывает в несжатом формате.
Цитировать
mplayer radio://98.9:volume=50:arate=11000:achannels=1/capture -dumpstream -dumpfile radio7.mp3 -vc dummy -vo null -af resample=11000:0:0 -af lavcac3enc -af pan=1:0.5:0.5

Файл получается Очень большой, не смотря на опции.
А теперь внимание вопрос: как сжать на лету радио-эфир в файл MP3 и делать это по расписанию.
Очень желательно еще организовать трансляцию в локальную сеть.
Если mplayer с mencoder'ом это сами не смогут сделать, то как-то каскадом настроить систему: тюнер создаёт аудиопоток с тюнера, его подхватывает стример, а затем IP-поток упаковывается в файл MP3.
Спасибо.
« Последнее редактирование: 16 Октября 2019, 10:30:26 от AndreyNag »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6904
    • Просмотр профиля
Re: Записать радио в MP3 с FM-тюнера.
« Ответ #1 : 16 Октября 2019, 10:33:28 »
Цитировать
Файл получается Очень большой, не смотря на опции.
Вот именно. Где только нашли этот бред. Масса опций только коверкающих звук. Изменение громкости, ресемплинг... И все бестолково. К сожалению, я не знаток опций mplayer, с ходу не подскажу.
VLC тоже может записывать. Попробуйте, может с ним вам будет проще.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
Re: Записать радио в MP3 с FM-тюнера.
« Ответ #2 : 16 Октября 2019, 10:40:51 »
не уверен, но попробуйте
mplayer radio://98.9:volume=50:arate=11000:achannels=1/capture -ao pcm:file=/dev/stdout -really-quiet | lame --preset medium -h - outfile.mp3
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн AndreyNag

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Записать радио в MP3 с FM-тюнера.
« Ответ #3 : 16 Октября 2019, 11:00:03 »
Проблема с lame.
Программа 'lame' на данный момент не установлена. Вы можете установить её, выполнив:
apt install lame
^C
root@user-pc:/home/seven# lam
lamboot    lamd       lamgrow    laminfo    lamshrink  lamwipe
lamclean   lamexec    lamhalt    lamnodes   lamtrace
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:        16.04
Codename:       xenial

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
Re: Записать радио в MP3 с FM-тюнера.
« Ответ #4 : 16 Октября 2019, 11:00:33 »
Программа 'lame' на данный момент не установлена. Вы можете установить её, выполнив:
apt install lame
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн AndreyNag

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Записать радио в MP3 с FM-тюнера.
« Ответ #5 : 16 Октября 2019, 11:02:42 »
Спасибо Огромное. Пишет и файл приемлемого размера.
Попробую его еще прослушать.

Пользователь добавил сообщение 16 Октября 2019, 11:10:09:
К сожалению в файл записалось что-то не то.
0000000000: FF FB 90 44 00 00 00 00 │ 00 00 00 00 00 00 00 00  яыђD
0000000010: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000020: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000030: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000040: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000050: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000060: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000070: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000080: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000090: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000A0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000B0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000C0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000D0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000E0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000F0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000100: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000110: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000120: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000130: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000140: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000150: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000160: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000170: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000180: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000190: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000001A0: 00 FF FB 10 64 00 0F F0 │ 00 00 69 00 00 00 08 00   яы►d ☼р  i   ◘
00000001B0: 00 0D 20 00 00 01 00 00 │ 01 A4 00 00 00 20 00 00   ♪   ☺  ☺¤
00000001C0: 34 80 00 00 04 4C 41 4D │ 45 33 2E 39 39 2E 35 55  4Ђ  ♦LAME3.99.5U
00000001D0: 55 55 55 55 55 55 55 55 │ 55 55 55 55 55 55 55 55  UUUUUUUUUUUUUUUU
00000001E0: 55 55 55 55 55 55 4C 41 │ 4D 45 33 2E 39 39 2E 35  UUUUUULAME3.99.5
00000001F0: 55 55 55 55 55 55 55 55 │ 55 55 55 55 55 55 55 55  UUUUUUUUUUUUUUUU
0000000200: 55 55 55 55 55 55 55 55 │ 55 FF FB 10 64 22 0F F0  UUUUUUUUUяы►d"☼р
0000000210: 00 00 69 00 00 00 08 00 │ 00 0D 20 00 00 01 00 00    i   ◘  ♪   ☺
0000000220: 01 A4 00 00 00 20 00 00 │ 34 80 00 00 04 55 55 55  ☺¤      4Ђ  ♦UUU
0000000230: 55 55 55 55 55 55 55 55 │ 55 55 55 55 55 55 55 55  UUUUUUUUUUUUUUUU
0000000240: 55 55 55 55 55 55 55 55 │ 55 55 55 55 55 55 4C 41  UUUUUUUUUUUUUULA
0000000250: 4D 45 33 2E 39 39 2E 35 │ 55 55 55 55 55 55 55 55  ME3.99.5UUUUUUUU
0000000260: 55 55 55 55 55 55 55 55 │ 55 55 55 55 55 55 55 55  UUUUUUUUUUUUUUUU
0000000270: 55 FF FB 10 64 44 0F F0 │ 00 00 69 00 00 00 08 00  Uяы►dD☼р  i   ◘
0000000280: 00 0D 20 00 00 01 00 00 │ 01 A4 00 00 00 20 00 00   ♪   ☺  ☺¤
0000000290: 34 80 00 00 04 55 55 55 │ 55 55 55 55 55 55 55 55  4Ђ  ♦UUUUUUUUUUU
00000002A0: 55 55 55 55 55 55 55 55 │ 55 55 55 55 55 55 55 55  UUUUUUUUUUUUUUUU
00000002B0: 55 55 55 55 55 55 4C 41 │ 4D 45 33 2E 39 39 2E 35  UUUUUULAME3.99.5
00000002C0: 55 55 55 55 55 55 55 55 │ 55 55 55 55 55 55 55 55  UUUUUUUUUUUUUUUU
00000002D0: 55 55 55 55 55 55 55 55 │ 55 FF FB 10 64 66 0F F0  UUUUUUUUUяы►df☼р
00000002E0: 00 00 69 00 00 00 08 00 │ 00 0D 20 00 00 01 00 00    i   ◘  ♪   ☺
00000002F0: 01 A4 00 00 00 20 00 00 │ 34 80 00 00 04 55 55 55  ☺¤      4Ђ  ♦UUU
И так до конца файла. Собственно потоковые данные отсутствуют. При попытке воспроизвести тем же mplayer'ом получаю глухую тишину.
Интересно то, что попытка записать несжатый формат
Цитировать
mplayer radio://98.9:volume=50:arate=11000:achannels=1/capture -ao pcm:file=output
тоже не увенчалась успехом. В результирующем файле только заголовок, а в теле пустота. Хотя в наушниках во время работы mplayer'a, воткнутых в линейный выход тюнера, звук идёт.
Цитировать
mplayer radio://98.9:volume=50:arate=11000:achannels=1/capture -dumpaudio -dumpfile /home/seven/radio7.wav -ao pcm
Получаю Огромный пустой файл.  :(
Перемычка между выходом и входом тюнера проблему также не решила.

Пользователь добавил сообщение 16 Октября 2019, 15:49:16:
Решение по записи с кодированием в MP3 на лету нашлось.
mplayer radio://98.9/capture -ao pcm:file=/dev/stdout -really-quiet | lame --preset medium -h - radio7.mp3На данном этапе решено.
Следующая задача организовать запись по расписанию с сохранением в файлах по дате и времени.
Сделал запуск по расписанию.
Создал скрипт, который перезапускает запись с эфира и создаёт новый файл MP3:

#!/bin/sh
/usr/bin/screen -r RRR -X kill
/usr/bin/screen -D -m -S RRR sh -c "/usr/bin/mplayer radio://98.9/capture -ao pcm:file=/dev/stdout -really-quiet | /usr/bin/lame --preset medium -h - /home/seven/Radio7-$(date +%Y.%m.%d-%R).mp3"

Запускаю cron'ом каждый час.
  0 * * * * su root -c "/home/seven/radio7.sh" &
Каждый час создаётся новый файл со штампом времени.
Задача минимум выполнена.

Задача максимум поднять сервис потоковой передачи в локальную сеть.
Как бы не пришлось вторую карточку ставить. Вдруг не удастся перехватить аудиопоток для icecast-server.
Спасибо.
« Последнее редактирование: 17 Октября 2019, 09:49:07 от AndreyNag »

 

Страница сгенерирована за 0.037 секунд. Запросов: 25.