Перейти к содержимому


Фотография

Scream: Музыка С Компа На Плеер Dune Hd


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 27

#1 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 20 April 2020 - 01:38

Всем привет!
Не так давно пришлось вернуться с макоси на винду, и у меня встал остро вопрос как бы музыку с компа на колонки отправлять. Да так чтобы просто и удобно.
Airplay меня разбаловал, а под винду для него ничего путного не нашлось - только пара не самых стабильных платных софтин, которые к тому же слишком велики для такой простой функции. И вот, обратив взор на свою старую Dune 102, у меня мелькнула мысль, и я решил немного покустарничать.
 
К счастью нашёлся просто замечательный проект https://github.com/duncanthrax/scream
Это мелкий win64 драйвер виртуальной звуковой карты, весом всего 50 килобайт, который тупо стримит мультикастом несжатые PCM пакеты.
Там же есть исходники приёмника для никсовых систем.
 
Вчера вот решил попробовать, поднял линукс на виртуалке, установил тулчейн под Сигму 86хх, скомпилил приёмник (попутно исправив пару мелких ошибок в коде).
Бинарник на 18 кило всего получился.
 
Попробовал - взлетело, просто замечательно. Сначала пробовал просто на Дюне поток через ffmpeg в файл писать - всё стабильно и красиво. Опробовал до 96kHz/24. Работает.
и PCM и Flac и что угодно.
 
Дошли руки до потокового воспроизведения.
С написанием плагина морочиться не стал - тупо закинул в кучу к codecpack.
Сам исполняемый файл scream в codecpack/bin положил, а скрипт scream.sh стало быть в codecpack/WWW/cgi-bin
Запускал так:
http://duneip/cgi-bin/do?cmd=start_file_playback&media_url=http://ts://127.0.0.1:81/cgi-bin/scream.sh
Тоже всё заработало, но эйфории поубавилось. Столкнулся с проблемой, что Дюна не хочет воспроизводить PCM поток из Mpeg-TS, хотя стандарт это предусматривает.
Максимум что удалось выжать - стерео 48000kHz/24 в AC3/640kbps. Загрузка процессора при этом менее 20%. Управление громкостью с компа работает. В целом очень доволен, качество выше Airplay, но я уже облизывался на Hi-Res lossless стриминг.  :D
Кстати, если ресивер поддерживает Dolby Digital Plus (у меня не умеет), то можно жать в eac3 c существенно более высоким битрейтом.
 
Дальнейшие мои потуги ни к чему не привели - потоковые mp4 и asf у меня не завелись, хотя в доках вроде бы написано, что должно работать (хотя, может не в моей модели?).
 
В общем, делюсь наработками, и заодно прошу советов, как озвученные проблемы забороть.
Может знает кто лазейки с mpegts? Или как mp4 и asf заставить работать, и ещё какие финты.
Или может вообще напрямую поток на spdif гнать без всяких скриптов? Буду очень благодарен за советы. Хочется допилить эту фишку.
 
P.S. Извиняюсь за много букв.

Прикрепленные файлы


Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует


#2 TrippyCat

TrippyCat

    Пользователь

  • Пользователи
  • PipPipPipPipPipPipPip
  • 27062 сообщений
  • Gender:Male

Отправлено 20 April 2020 - 12:36

Очеть интерестно, но чуть не понял как это работает?


Dune Store Extension (Дюнастор расширенный)
Faq По Плеерам Dune - в процессе заполнения.

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном дюне (обычно внутренний диск) папку "dune_plugin_logs". После чего начните пользоваться плагином, и в папке dune_plugin_logs появится файл лога. (папку создавать с нижними подчеркиваниями). К файлу лога добавляйте расширение txt иначе на форум не загрузить или упакуйте файл лога в zip архив.

Хотел бы настойчиво попросить всех изменить свои подписи до такого вида (указание модели и прошивки, это сэкономит время вам и авторам плагинов) Faq По Плеерам Dune - п.12 - Как сделать подпись на форуме :
Dune Pro 4K(tv292a) - всегда последняя
Dune Neo 4K T2 Plus Version - всегда последняя
Dune Solo 4K (всегда последняя) Сист.флешка присутствует

Обновите парсеры это означает кнопка попап пункт "обновить" на иконке плагина или перегрузите плеер или в настройках плагина Bazinga.

#3 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 20 April 2020 - 14:00

Там всё просто.
После установки драйверов на винду, появляется виртуальное звуковое устройство. Качество звука и количество каналов настраивается стандартными средствами системы. Выбор устройства для вывода звука тоже.

Прикрепленный файл  Устройства.PNG   31.32К   3 Количество загрузок: Прикрепленный файл  Настройки.PNG   32.09К   2 Количество загрузок: Прикрепленный файл  Переключение.PNG   192.79К   2 Количество загрузок:

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

Пакеты, как я понял, у этого драйвера своего формата, поэтому со стороны принимающего устройства требуется декодер.

В нашем случае декодер на Дюне ловит пакеты из сети и выдает данные в stdout, откуда при помощи ffmpeg (из комплекта  codecpack) они преобразовываются в формат, который воспроизводит Дюна. Фактически сейчас это уже полноценно рабочий комплект без всяких условностей. Надо только передачу настроек звука в скрипт через параметры в url сделать, а то сейчас у меня в нём жёстко задано 48kHz/24. Но это попозже сделаю, сначала хочу разобраться с форматами кодирования, и главное избавиться от перекодирования в ас3. А то и качество падает, и процессор грузится.

При перекодировании в flac, например, загрузка проца на Дюне всего 5%.

 

В целом очень удобно. У меня подписка Deezer HiFi, и в основном я сидя за компом слушаю музыку в наушниках, но бывает уши устают - пара кликов и музыка уже через ресивер на колонки летит.


Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует


#4 TrippyCat

TrippyCat

    Пользователь

  • Пользователи
  • PipPipPipPipPipPipPip
  • 27062 сообщений
  • Gender:Male

Отправлено 20 April 2020 - 14:59

New feature: Support for playback of PCM audio streams via HTTP (streamed
PCM WAV), useful for some integrations.

 

В 161107_1958_r11 такое добавлено не получится просто убрать из цепочки  ffmpeg?  Использовал в плагине mpd. 


Dune Store Extension (Дюнастор расширенный)
Faq По Плеерам Dune - в процессе заполнения.

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном дюне (обычно внутренний диск) папку "dune_plugin_logs". После чего начните пользоваться плагином, и в папке dune_plugin_logs появится файл лога. (папку создавать с нижними подчеркиваниями). К файлу лога добавляйте расширение txt иначе на форум не загрузить или упакуйте файл лога в zip архив.

Хотел бы настойчиво попросить всех изменить свои подписи до такого вида (указание модели и прошивки, это сэкономит время вам и авторам плагинов) Faq По Плеерам Dune - п.12 - Как сделать подпись на форуме :
Dune Pro 4K(tv292a) - всегда последняя
Dune Neo 4K T2 Plus Version - всегда последняя
Dune Solo 4K (всегда последняя) Сист.флешка присутствует

Обновите парсеры это означает кнопка попап пункт "обновить" на иконке плагина или перегрузите плеер или в настройках плагина Bazinga.

#5 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 20 April 2020 - 21:29

 

В 161107_1958_r11 такое добавлено не получится просто убрать из цепочки  ffmpeg?  Использовал в плагине mpd. 

 

О! Спасибо за наводку, поизучаю вечером эту тему.  Было бы идеально его убрать, т.к. это не больше чем костыль. Да я бы вообще попробовал бы потом сделать чтобы дюна звук гнала на ресивер не выходя из спячки. А то сейчас у меня телевизор включается (CEC в настройках включён, пользуюсь). Но это всё попозже.
Кстати, попутно нашёл и ещё одно возможное решение - к новой версии ffmpeg прикрутили кодирование в pcm_dvd, по идее Дюна должна его глотать нормально.

Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует


#6 TrippyCat

TrippyCat

    Пользователь

  • Пользователи
  • PipPipPipPipPipPipPip
  • 27062 сообщений
  • Gender:Male

Отправлено 20 April 2020 - 22:15

А не могли бы вы собрать и под SMP87xx, хочу тоже попробовать  :)

Думаю посты перенесу в отдельную тему. 


Dune Store Extension (Дюнастор расширенный)
Faq По Плеерам Dune - в процессе заполнения.

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном дюне (обычно внутренний диск) папку "dune_plugin_logs". После чего начните пользоваться плагином, и в папке dune_plugin_logs появится файл лога. (папку создавать с нижними подчеркиваниями). К файлу лога добавляйте расширение txt иначе на форум не загрузить или упакуйте файл лога в zip архив.

Хотел бы настойчиво попросить всех изменить свои подписи до такого вида (указание модели и прошивки, это сэкономит время вам и авторам плагинов) Faq По Плеерам Dune - п.12 - Как сделать подпись на форуме :
Dune Pro 4K(tv292a) - всегда последняя
Dune Neo 4K T2 Plus Version - всегда последняя
Dune Solo 4K (всегда последняя) Сист.флешка присутствует

Обновите парсеры это означает кнопка попап пункт "обновить" на иконке плагина или перегрузите плеер или в настройках плагина Bazinga.

#7 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 20 April 2020 - 23:00



А не могли бы вы собрать и под SMP87xx, хочу тоже попробовать  :)

Что-то с отсюда тулкит под 87хх не качается. Сейчас поищу в других источниках.


Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует


#8 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 20 April 2020 - 23:47

Вот, что-то родилось..  К сожалению, проверить не могу.

Если из винды запустить вещание, а на Дюне запустить эту прогу без параметров, то должно весь терминал загадить диким потоком неведомых символов (если вовремя не нажать Ctrl+C, то может потребоваться перезагрузка)

Если это произошло - значит всё работает. Дальше по инструкции.  :)

Прикрепленные файлы


Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует


#9 TrippyCat

TrippyCat

    Пользователь

  • Пользователи
  • PipPipPipPipPipPipPip
  • 27062 сообщений
  • Gender:Male

Отправлено 21 April 2020 - 00:26

Ну запускается, так что похоже работает.  Пока не понял как драйвер на винду запустить.  Комп похоже перегружать надо или в биос лезть. 


Dune Store Extension (Дюнастор расширенный)
Faq По Плеерам Dune - в процессе заполнения.

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном дюне (обычно внутренний диск) папку "dune_plugin_logs". После чего начните пользоваться плагином, и в папке dune_plugin_logs появится файл лога. (папку создавать с нижними подчеркиваниями). К файлу лога добавляйте расширение txt иначе на форум не загрузить или упакуйте файл лога в zip архив.

Хотел бы настойчиво попросить всех изменить свои подписи до такого вида (указание модели и прошивки, это сэкономит время вам и авторам плагинов) Faq По Плеерам Dune - п.12 - Как сделать подпись на форуме :
Dune Pro 4K(tv292a) - всегда последняя
Dune Neo 4K T2 Plus Version - всегда последняя
Dune Solo 4K (всегда последняя) Сист.флешка присутствует

Обновите парсеры это означает кнопка попап пункт "обновить" на иконке плагина или перегрузите плеер или в настройках плагина Bazinga.

#10 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 21 April 2020 - 00:40

Не, никакого биоса. Вот сделал выжимку из общего архива, тут только драйверы и их установщик.

Распаковать куда угодно, и запустить Install.bat под администратором.

 

Прикрепленные файлы


Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует


#11 TrippyCat

TrippyCat

    Пользователь

  • Пользователи
  • PipPipPipPipPipPipPip
  • 27062 сообщений
  • Gender:Male

Отправлено 21 April 2020 - 01:04

Ну так драйверы я установил но у меня они с треугольником с восклицатнльным знаком и выбрать их не могу или надо перегрузить комп (пока не могу выключаю раз в месяц только) или проблема в этом 

 

 

Microsoft has recently tightened the rules for signing kernel drivers. These new rules apply to newer Windows 10 installations that were not upgraded from an earlier version. If your installation is subject to these rules, the driver will not install. Workaround: Disable secure boot in BIOS. For more information, see this issue.
Не удается проверить цифровую подпись драйверов, необходимых для данного устройства. При последнем изменении оборудования или программного обеспечения могла быть произведена установка неправильно подписанного или поврежденного файла либо вредоносной программы неизвестного происхождения. (Код 52)

Dune Store Extension (Дюнастор расширенный)
Faq По Плеерам Dune - в процессе заполнения.

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном дюне (обычно внутренний диск) папку "dune_plugin_logs". После чего начните пользоваться плагином, и в папке dune_plugin_logs появится файл лога. (папку создавать с нижними подчеркиваниями). К файлу лога добавляйте расширение txt иначе на форум не загрузить или упакуйте файл лога в zip архив.

Хотел бы настойчиво попросить всех изменить свои подписи до такого вида (указание модели и прошивки, это сэкономит время вам и авторам плагинов) Faq По Плеерам Dune - п.12 - Как сделать подпись на форуме :
Dune Pro 4K(tv292a) - всегда последняя
Dune Neo 4K T2 Plus Version - всегда последняя
Dune Solo 4K (всегда последняя) Сист.флешка присутствует

Обновите парсеры это означает кнопка попап пункт "обновить" на иконке плагина или перегрузите плеер или в настройках плагина Bazinga.

#12 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 21 April 2020 - 01:31

Тут, к сожалению, не подскажу. Я винду десятую руками потрогал впервые только неделю назад.

Возможно, такое в последних версиях. Я поставил LTSC (понятно какую ;)) У меня всё гладко. Железо - свежак совсем (z390).

Прикрепленный файл  winver.PNG   8.66К   1 Количество загрузок:


Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует


#13 TrippyCat

TrippyCat

    Пользователь

  • Пользователи
  • PipPipPipPipPipPipPip
  • 27062 сообщений
  • Gender:Male

Отправлено 21 April 2020 - 13:15

:)


Dune Store Extension (Дюнастор расширенный)
Faq По Плеерам Dune - в процессе заполнения.

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном дюне (обычно внутренний диск) папку "dune_plugin_logs". После чего начните пользоваться плагином, и в папке dune_plugin_logs появится файл лога. (папку создавать с нижними подчеркиваниями). К файлу лога добавляйте расширение txt иначе на форум не загрузить или упакуйте файл лога в zip архив.

Хотел бы настойчиво попросить всех изменить свои подписи до такого вида (указание модели и прошивки, это сэкономит время вам и авторам плагинов) Faq По Плеерам Dune - п.12 - Как сделать подпись на форуме :
Dune Pro 4K(tv292a) - всегда последняя
Dune Neo 4K T2 Plus Version - всегда последняя
Dune Solo 4K (всегда последняя) Сист.флешка присутствует

Обновите парсеры это означает кнопка попап пункт "обновить" на иконке плагина или перегрузите плеер или в настройках плагина Bazinga.

#14 slondon

slondon

    Маэстро комментариев

  • Пользователи
  • PipPipPipPipPipPipPip
  • 532 сообщений
  • Gender:Male

Отправлено 21 April 2020 - 13:24

А почему обсуждаются кодировки и контейнеры, если написано, что по сети передается pcm?
Dune HD Neo 4K Plus, 240619_0210_r22
Dune HD Max 4K, 240619_0210_r22

#15 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 22 April 2020 - 03:39

TrippyCat

Спасибо за совет насчёт прошивки. А то у меня ранее сложилось ложное впечатление, что в новых прошивках добавили только некий платный функционал и не более. Потому и сидел на старой - типа всё работает, что ещё надо?  :)  А они оказывается проигрывание файлов из интернета без транспортных протоколов прикрутили.

Так что всё заработало в лучшем виде (хотя и не сразу).

 

slondon

Там по сети летят просто голые пакеты, программа для сборки их со стороны Дюны по-любому нужна.
А дальше поступить с ними можно двумя способами:
1. (Что я сделал ранее) Запихивать в контейнер и транспортным протоколом скармливать Дюне. Но тут есть ограничение по выбору формата аудиопотока. С этим способом звука без пережатия я так и не смог добиться.
2. (Что удалось сделать сейчас). Прикрутить перед потоком заголовок wav-файла с прописанными там параметрами, и к нему уже цеплять хвостом сам поток данных.
 
На данный момент это реализовано при помощи того же ffmpeg, звуковой поток не перекодируется. В итоге получил lossless 96kHz/24. Загрузка процессора при этом менее 10%.
Так что у меня получилось вообще всё что я хотел  :D

Прикрепленный файл  Настройки96.PNG   24.97К   5 Количество загрузок: Прикрепленный файл  96pcm.jpg   18.75К   4 Количество загрузок:

 

Но всё же правильнее будет чтобы заголовок wav мог подсовывать сам декодер. Как-нибудь потом, когда будет время и настроение, добавлю этот функционал непосредственно в исполняемый файл. Также, как я уже писал, очень хочется вещать без вывода дюны из спячки.

 

Ну а пока собрал всё в одном архиве, декодеры для mips и arm, драйвер, и новый скрипт для запуска.

Декодеры не менялись, а скрипт переписал. Теперь он ещё параметры потока поддерживает. 

http://IP.адрес.вашей.Dune/cgi-bin/do?cmd=start_file_playback&media_url=http://127.0.0.1:81/cgi-bin/scream.sh?48000:24:2

в данном примере передаваемые параметры 48000:24:2 устанавливают режим потока, где

48000 - частота дискретизации (по-умолчанию 44100 Гц)
24    - разрядность (по-умолчанию 16 бит)
2     - количество каналов (по-умолчанию 2)
 
Эти параметры необходимо установить в соответствии с настройками виртуальной звуковой карты в Windows.

Прикрепленные файлы


Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует


#16 ddaaff

ddaaff

    Маэстро комментариев

  • Пользователи
  • PipPipPipPipPipPipPip
  • 903 сообщений
  • Gender:Male
  • Location:Приморский край

Отправлено 22 April 2020 - 12:36

Привет.
1. А зачем в схеме вообще нужен бинарник scream? Пусть ффмег сам слушает порт
ffmpeg -f s${BIT}le -ar $FREQ -ac $CH -i udp://@239.255.77.77:4010 -y -acodec copy -f wav pipe:1
2. Если к wav-потоку прицеплен заголовок, то разве нельзя слушать напрямую, без конверта?

http://192.168.0.102/cgi-bin/do?cmd=start_file_playback&media_url=udp://@239.255.77.77:4010

 


Dune HD 102 (190919_0242_r11)
Dune HD Neo 4K (tv173b 230929_0206_r21)
Dune HD Pro 4K (tv292b 200914_1539_r13)
Dune HD Pro 4K II (tv175h 230929_0206_r21)
Dune Magic 4K Plus (tv175r 230929_0206_r21)
Dune Hd Pro One 8K Plus (tv288b 240116_2340_r22)

 

 

 

 


#17 TrippyCat

TrippyCat

    Пользователь

  • Пользователи
  • PipPipPipPipPipPipPip
  • 27062 сообщений
  • Gender:Male

Отправлено 22 April 2020 - 12:42

Также, как я уже писал, очень хочется вещать без вывода дюны из спячки.

 

У меня как то получалось запускать файлы без вывода из стендбая, но потом возникали проблемы с включением плеера. Точно не помню на каких плеерах, и каким способом. 


Dune Store Extension (Дюнастор расширенный)
Faq По Плеерам Dune - в процессе заполнения.

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном дюне (обычно внутренний диск) папку "dune_plugin_logs". После чего начните пользоваться плагином, и в папке dune_plugin_logs появится файл лога. (папку создавать с нижними подчеркиваниями). К файлу лога добавляйте расширение txt иначе на форум не загрузить или упакуйте файл лога в zip архив.

Хотел бы настойчиво попросить всех изменить свои подписи до такого вида (указание модели и прошивки, это сэкономит время вам и авторам плагинов) Faq По Плеерам Dune - п.12 - Как сделать подпись на форуме :
Dune Pro 4K(tv292a) - всегда последняя
Dune Neo 4K T2 Plus Version - всегда последняя
Dune Solo 4K (всегда последняя) Сист.флешка присутствует

Обновите парсеры это означает кнопка попап пункт "обновить" на иконке плагина или перегрузите плеер или в настройках плагина Bazinga.

#18 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 22 April 2020 - 13:13

ddaaff

Привет,

1. Попробовал в первый же день - не получилось почему-то, возможно где-то недокрутил, хотя там вроде бы всё просто. Т.к. не было уверенности в том что вообще запустится, решил для начала пойти по пути, задуманному автором проекта. Теперь, когда всё работает можно и поэкспериментировать.

2. Заголовка нет, поэтому Дюна не знает с какими параметрам идёт сигнал. Так что этот вариант отпадает.

 

Пока вижу вариант с генерированием заголовка непосредственно в bash скрипте, с последующим выводом данных без ffmpeg, либо как в п.1. Даже не знаю что предпочтительнее. Попробую и то и то.

 

TrippyCat

Жалко. А то столкнулся с ещё одной проблемой. Дюна у меня завязана с телевизором как основное устройство для просмотра ТВ-программ. И сейчас такая ситуация получается, когда Дюна в стендбае и приходит команда на воспроизведение звукового потока, она включается, автоматически включая телевизор через CEC, да ещё запускает плагин от провайдера IPTV (он в автомате у меня стоит). При этом музыка не стартует. Приходится сворачивать ТВ и повторно давать команду на воспроизведение.


Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует


#19 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 22 April 2020 - 13:27

ddaaff

Попробовал п.1 - поток идёт, но просто шум. Как я понял, всё же при передаче идут не чистые PCM пакеты, там ещё к ним какие-то мелкие заголовки прикручиваются.

Так что без декодера скорее всего не получится обойтись.


Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует


#20 S.Gonzalez

S.Gonzalez

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений
  • Gender:Male

Отправлено 24 April 2020 - 21:32

Ну, в общем, пункт 2 тоже не сработал. Bash скрипт корректно выдавал заголовок wav, но после этого требуется секунда-другая для подготовки потока, и за это время Дюна почему-то впадала в бесконечную паузу, и даже когда поток уже шёл - тихо молчала мигая часиками. А вот если она получает, пусть и с задержкой, заголовок и сразу поток - то воспроизведение идёт гладко. В общем, не взлетело.

 

Ну это было на пользу, т.к. в этом случае я не придумал ничего лучшего, чем просто добавить данный функционал непосредственно в принимающую программу. Даже жалею, что сразу не пошёл этим путём, а потерял время, ломая голову с ffmpeg и bash.

В общем, теперь scream может отдавать и голый поток (как было ранее), и поток с wav заголовком, который полностью устраивает Дюну. 

Более того, теперь не надо при запуске скрипта указывать параметры звукового потока - программа сама их получает из пакетов и прописывает в заголовок.

Количество каналов не только пишет в заголовок по количеству, но и по их расположению, как установлено в настройка винды. Расширенная спецификация wav это позволяет.

Прикрепленный файл  surround_conf.PNG   49.51К   4 Количество загрузок:

Правда, как выяснилось, Дюне это не очень интересно, похоже, что не умеет она с ними нормально работать. Сначала думал, что это у меня косяк где-то, но потом скачал готовые образцы многоканальных wav-ов и сравнил их заголовки с тем что на выходе scream - один в один. Так что дело скорее всего в самой Дюне. Или может на новых моделях корректно работать будет? Но на моей 102-й происходит даунмикс до стерео.

Впрочем мне это особо и не нужно было, остановился на 48kHz/24bit/stereo. Идеально по качеству и по маленькой нагрузке на сеть. Кстати, процессор теперь грузится меньше чем на 2% даже при 96kHz. Ну а чего ему грузиться?

 

В общем, вот релиз. В комплекте драйверы, облегчённый до предела скрипт запуска, и бинарники принимающей части для x64, mips и arm (последний не проверял в работе).

Запускать так: 

http://IP.адрес.вашей.Dune/cgi-bin/do?cmd=start_file_playback&media_url=http://127.0.0.1:81/cgi-bin/scream.sh

Потом как-нибудь подумаю над добавлением воспроизведения потока в DTS формате без сжатия. Тут можно 48kHz/24bit/5.1 честные получить.

Прикрепленные файлы


Dune HD TV-102W (190919_0242_r11) Сист.флешка присутствует