Славка: есть, но NDA :-) Но там нет ничего сложного, libusb-win32 предоставляет API 0.x, основной проект сейчас 1.x, пишите софт как обычно, рядом ложите libusb1.dll. Если будете использовать libdwi - её можно статически прилинковать, И алгоритм обычно такой: просканировать список устройств, найти нужное по VID:PID и ещё каким-то критериям. Попробовать спросить какую-то функцию, не получилось - попробовать установить драйвер (для этого могут потребоваться админские права), и снова проверить доступ, если всё ок - продолжаем работу.
Sveratum: почему именно ffmpeg? для работы с тегами mp3 есть куча консольных средств, которые болячку кодировок знают и умеют принять указания для перекодировки. FFmpeg, насколько я знаю, кодировки для метаинформации не поддерживает. Можете, конечно, попробовать пусть LANG=ru_RU.cp1251 ffmpeg ... но не уверен, что это то, что вам нужно.
Нужно было в коммент на ответ впечатать :) а так - явная проблема с реализацией USB и обработкой запросов со стороны устройства. Для ренумерации, сиречь, для вычитывания дескрипторов вообще драйвера не нужны, ну разве что на контроллер, но если он гонит, то другие девайсы могут не работать.
Ок. Но больше похоже на PCB проблему. Скорее всего, при распайке на чём-то сэкономили. Посмотрел, пулапы для SuperSpeed отдельные не используются, только для различия Low Speed и Full Speed (всё, что выше - такой же пулап как и для FS). А контроллер какой? Я сделал предположение, что Intel, но всё же? По BIOS лазили на предмет того же IOMMU?
ЗЫ я кстати погорячился выше, в USB 3.0 шина 2.0 просто совмещена и в режиме SuperSpeed используются только две новые дифпары. А почему разные: для совместимости.
а тут: www.makeuseof.com/answers/usb-3-0-ports-working-us... делают отсылку к тому, что платформа может переключать контроллер в легаси мод при старте, что бы можно было грузиться с флешек или типа того. Ну собственно в этом случае понятно влияние BIOS. Я про такой нюанс не знал.
Кстати, может быть виновата и чисто Windows, а Linux получает по сусалам, как тут: habrahabr.ru/post/242253 так что стоит попробовать рекомендации по первой ссылке, а потом выключить ноут, вынуть батарейку, подождать минут 5 и попытаться сразу загрузиться в Linux.
BVadim: по схематике не подскажу, но похоже что-то с подтягивающими регисторами. Тут нужно попытаться состряпать простой и лаконичный вопрос по локализованной проблеме, возможно где-то встречалось.
BVadim: там не то, что бы другие контакты, в режиме USB 2.0 просто не используются дополнительные контакты (на 3.0 они ВСЕ используются). Умереть отдельно USB 3.0... маловероятно, там микросхема одна. Да и по симптомам непонятно: если это было изначально, то больше всего на косяк в схемотехнике похоже, попросту - брак. Может просто феном прогреть контроллер достаточно будет (не монтажным и не бытовым :)) Если же это со временем развилось... Ну мы пришибли несколько контроллеров, но у нас они полностью помирали, такого частичного поведения не было. В общем, если конкретно для данного ноута или платформы проблема не специфична, то можно снести толковому монтажнику, поразбираться.
lohmag: коротко - никак. Более подробно - можно. Детали: nginx-rtmp умеет статические exec, т.е. при старте в application запускается внешняя команда, которой может быть ffmpeg - он забирает поток и пулит. Посмотрите в вики к проекту на гитхабе - там есть примеры.
thedraik: по поводу пушки - не согласен :) как раз самое оно, что по ресурсам, что по возможностям. CRtmpServer уже не развивается, в пользу своей коммерческой реинкарнации - Evo Streamer.
Занекропощу: люблю Asio, но не плюсую. Простой бенчмарк тест http сервера /функционал минимальный: принять запрос, отдать фиксированный ответ + Keep-Alive, парсера запроса нет - просто скипаем/ на Core i7-3940XM показал разницу в производительности почти в два раза: 300k req/sec на Asio против 560k req/sec на libev. Т.е. если нужна производительность, то тут просто нужно опускаться до системного API. Если речь не идёт о дикой производительности, то Boost.Asio - просто замечательно. Резюмируя: а) научиться пользоваться Asio в блокирующем режиме; б) научиться пользоваться Asio в асинхронном режиме; в) изучить обе части UNIX Network Programming (первая собственно для сети, вторая же больше посвящена IPC); г) изучить более низкоуровневые средства, которые не покрываются в этих книгах: libev/libevent/libuv; д) если нужно ещё более реактивного, то уже детально изучать специфичные темы, типа epoll/kqueue/IOCP и т.д. всякие Edge-Triggered vs Level-Triggered и т.п.
ЗЫ я могу выложить оба сервера, если кто-то даст советы по реализации на Asio, будет просто мегаотлично. Может я чего-то недоучёл :)