Issue
For videos with more than 2 audio channels, Xuggler does not generate thumbnail and throws an error:
2023-02-16 10:48:35.507 ERROR [main][xuggler:105] Error: inputChannels > 2; unsupported (../../../../../../../csrc/com/xuggle/xuggler/AudioResampler.cpp:151)
2023-02-16 05:18:36.066 ERROR [liferay/document_library_video_processor-1][VideoProcessorImpl:568] Unable to process 306122 sample video (1).mp4.
java.util.concurrent.ExecutionException: com.liferay.petra.process.ProcessException: java.lang.RuntimeException: Audio resampling is not supported
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.liferay.portlet.documentlibrary.util.VideoProcessorImpl._generateVideoXuggler(VideoProcessorImpl.java:550)
at com.liferay.portlet.documentlibrary.util.VideoProcessorImpl._generateVideoXuggler(VideoProcessorImpl.java:596)
at com.liferay.portlet.documentlibrary.util.VideoProcessorImpl._generateVideo(VideoProcessorImpl.java:470)
at com.liferay.portlet.documentlibrary.util.VideoProcessorImpl.generateVideo(VideoProcessorImpl.java:119)
at com.liferay.document.library.kernel.util.VideoProcessorUtil.generateVideo(VideoProcessorUtil.java:36)
at com.liferay.portlet.documentlibrary.messaging.VideoProcessorMessageListener.generate(VideoProcessorMessageListener.java:32)
at com.liferay.portlet.documentlibrary.messaging.BaseProcessorMessageListener.doReceive(BaseProcessorMessageListener.java:36)
at com.liferay.portal.kernel.messaging.BaseMessageListener.receive(BaseMessageListener.java:26)
at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:74)
at com.liferay.portal.kernel.messaging.SerialDestination$1.run(SerialDestination.java:58)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:752)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:664)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.liferay.petra.process.ProcessException: java.lang.RuntimeException: Audio resampling is not supported
at com.liferay.portlet.documentlibrary.util.VideoProcessorImpl$LiferayVideoProcessCallable.call(VideoProcessorImpl.java:726)
at com.liferay.portlet.documentlibrary.util.VideoProcessorImpl$LiferayVideoProcessCallable.call(VideoProcessorImpl.java:682)
at com.liferay.petra.process.local.LocalProcessLauncher.main(LocalProcessLauncher.java:135)
Caused by: java.lang.RuntimeException: Audio resampling is not supported
at com.liferay.portlet.documentlibrary.util.LiferayConverter.createIAudioResampler(LiferayConverter.java:153)
at com.liferay.portlet.documentlibrary.util.LiferayConverter.prepareAudio(LiferayConverter.java:735)
at com.liferay.portlet.documentlibrary.util.LiferayVideoConverter.doConvert(LiferayVideoConverter.java:162)
at com.liferay.portlet.documentlibrary.util.LiferayVideoConverter.convert(LiferayVideoConverter.java:75)
at com.liferay.portlet.documentlibrary.util.VideoProcessorImpl$LiferayVideoProcessCallable.call(VideoProcessorImpl.java:723)
Environment
- Liferay DXP 7.1
- Liferay DXP 7.2
- Liferay DXP 7.3
Resolution
- This is a known limitation of Xuggler which only supports thumbnail generation for videos up to 2 input channels.
- Since Xuggler is an integrated technology, the issue cannot be addressed at the Liferay code level.
Additional Information
- The Xuggler project is deprecated and hasn't been updated in years. As a result, Liferay does not recommend using it because of security vulnerabilities. For further information, see our Xuggler Support Policy
- Xuggler's replacement is FFMPEG Video Converter which is available for DXP 7.4.