Creating a thumbnail from MP4 video crashes on shared hosting but working fine locally

-1

i am working on a web page to upload MP4 video and getting a thumbnail from the video

i am using NReco FFMpeg Converter to achieve this . it is working fine locally but upload it on a shared hosting it crashes at ffMpeg.GetVideoThumbnail

        string VideoUrl = dataMediaUrl.ImageUrl;
        string extension = VideoUrl.Split('.')[VideoUrl.Split('.').Length - 1];
        var ffMpeg = new NReco.VideoConverter.FFMpegConverter();
        string thumbnailJPEGpath = Server.MapPath(VideoUrl.Replace("~/upload/MediaGallery/", "~/upload/MediaGallery/Thumb_").Replace("." + extension, ".jpg"));
        ffMpeg.GetVideoThumbnail(Server.MapPath(VideoUrl), thumbnailJPEGpath);
        dataThumbUrl.ImageUrl = VideoUrl.Replace("~/upload/MediaGallery/", "~/upload/MediaGallery/Thumb_").Replace("." + extension, ".jpg");

This is the error I am getting:

Server Error in '/' Application.
This program is blocked by group policy. For more information, contact your system administrator
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.ComponentModel.Win32Exception: This program is blocked by group policy. For more information, contact your system administrator

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[Win32Exception (0x80004005): This program is blocked by group policy. For more information, contact your system administrator]
   System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) +1889
   System.Diagnostics.Process.Start() +119
   System.Diagnostics.Process.Start(ProcessStartInfo startInfo) +49
   NReco.VideoConverter.FFMpegConverter.ConvertMedia(Media input, Media output, ConvertSettings settings) +1163
   NReco.VideoConverter.FFMpegConverter.GetVideoThumbnail(String inputFile, String outputFile, Nullable`1 frameTime) +155
   Admin_MediaGalleryVideoUpload.InsertButton_Click(Object sender, EventArgs e) +591
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9782698
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +204
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +12
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +15
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1639

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.7.3394.0
c#
asp.net
ffmpeg
shared-hosting
nreco
asked on Stack Overflow Jul 15, 2019 by Mariam Nagy • edited Jul 15, 2019 by Naeem Khan

1 Answer

1

Your problem is that part of the code (probably inside of one of the methods you call):

System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

If it execute a process on a remote machine the user that execute it need to have the permissions to execute programs on it (not granted by default).

To help you more we need to know the source code of method where StartWithCreateProcess is called ( NReco.VideoConverter.FFMpegConverter.GetVideoThumbnail(...)).

EDIT: Googling a bit seems that NReco is an external library, i suggest to open a ticket to their support.

answered on Stack Overflow Jul 15, 2019 by Legion • edited Jul 15, 2019 by pstrjds

User contributions licensed under CC BY-SA 3.0