Распространение H264 с помощью программы Qt5 QtMultimedia для Windows

Я разрабатываю приложение Qt5 для Windows/Linux, оно должно воспроизводить FLV-видео H264/AAC.

Это прекрасно работает в Linux после установки gstreamer-plugins. Это также работает после установки пакета кодеков K-lite в Windows.

Мне нужно распространять мою программу с необходимыми файлами, чтобы иметь возможность воспроизводить видео без установки чего-либо еще. Я попытался скопировать файлы DLL, перечисленные в Process Explorer (все, что связано с A/V, libav*, av*, *.ax и т. д.), но это не работает.

Что еще мне нужно настроить?


person David Ventura    schedule 05.04.2016    source источник


Ответы (1)


Вы не можете сделать это из-за лицензирования MPEG-4. Если вы распространяете декодеры h.264, вы должны связаться с MPEGLA.com и получить лицензию. (В настоящее время бесплатно до 100 000 установок в год, но 20 000 долларов США, если вы превысите эту сумму).

Такие вещи, как K-Lite, обходят это требование, заставляя конечного пользователя устанавливать кодеки «для личного использования».

Таким образом, вы можете поручить своим пользователям устанавливать K-Lite или другие кодеки, но вы не можете отправлять их сами. Это довольно распространено в мире открытого исходного кода.

person SteveS    schedule 21.07.2016
comment
Вы не отвечаете на вопрос. Вопрос в том, что нужно сделать технически, чтобы это заработало, а не в лицензионных ограничениях MPEG-4. - person Benjamin T; 22.04.2017
comment
По закону он не может делать то, о чем просит, и поэтому не должен, независимо от того, спрашивает он, как это сделать или нет. Он должен поручить своим конечным пользователям самостоятельно устанавливать кодеки, иначе он нарушит лицензионное соглашение с открытым исходным кодом. @Benjamin T Чем ваш комментарий полезен для кого-либо? - person SteveS; 26.05.2017
comment
Он не может сделать это легально, если не свяжется с MPEGLA.com и не получит лицензию. Ваш ответ объясняет, как можно обойти лицензию, не распространяя кодек, но он не распространяется на случай, когда можно было бы получить указанную лицензию и необходимо (и по закону можно) распространять кодек. Я согласен с тем, что ваш ответ должен удовлетворить большинство разработчиков, но все же он не является полным, поскольку не дает технического ответа на вопрос ОП. Насколько нам известно, у него могла быть необходимая лицензия. С другой стороны, мой комментарий должен был быть вам полезен. - person Benjamin T; 27.05.2017
comment
@BenjaminT - Достаточно честно. Вероятно, ему нужно зарегистрировать библиотеки DLL после установки. Google regsvr32 и помните о различиях между 32 и 64 битами. - person SteveS; 31.05.2017