Note that there are some explanatory texts on larger screens.

plurals
  1. POhow to pass ffmpeg output to other sub-class in C#?
    text
    copied!<p>i want to pass the thumbnail generated by ffmpeg to save_FTPUpload where the save_FTPUpload function is to upload the image file to ftp server. how can i do that? here is my example code for thumbnail generation using ffmpeg and "fileupload" function for uploading files to ftp server:</p> <pre><code>public partial class testtttt : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { generateThumbnail(); string fi_attachment = @"C:\2.jpg";//source image file save_FTPUpload(fi_attachment); } private void generateThumbnail() { string thumbpath, thumbname, videofile; videofile = "http://www.xxxx.com/video.Avi"; thumbpath = @"C:\"; thumbname = thumbpath + Path.GetFileNameWithoutExtension(videofile) + ".jpg"; string thumbargs = "-i \"" + videofile + "\" -vframes 1 -s 60*30 -ss 00:00:00 -f image2 \"" + thumbname + "\""; Process process = new Process(); process.StartInfo.FileName = Server.MapPath("~\\ffmpeg\\bin\\ffmpeg.exe"); process.StartInfo.Arguments = thumbargs; process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.RedirectStandardInput = false; process.StartInfo.RedirectStandardError = true; process.StartInfo.CreateNoWindow = false; process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; try { process.Start(); string output2 = process.StandardError.ReadToEnd(); string output3 = process.StandardOutput.ReadToEnd(); if (process != null) { process.Close(); } } catch (Exception) { this.lblMessage.Text = "Thumbnail created successfuly";//ex.Message.ToString(); } } public bool save_FTPUpload(string fi_attachment) { bool fileSaved = false; //string fi_attachment = @"C:\1.jpg"; string filename = "3.jpg";//image name to be saved in ftp string ftp_user = "*****"; //username string ftp_pass = "*****"; //password string ftpURI = "ftp://www.xxxx.com/thumb/"; //ftp path where the image will be saved while (!fileSaved) { string file_ftpURI = string.Format("{0}/{1}", ftpURI, filename); FtpWebRequest file_exist_request = (FtpWebRequest)FtpWebRequest.Create(file_ftpURI); file_exist_request.Credentials = new NetworkCredential(ftp_user, ftp_pass); file_exist_request.Method = WebRequestMethods.Ftp.GetFileSize; try { FtpWebResponse response = (FtpWebResponse)file_exist_request.GetResponse(); } catch (WebException ex) { FtpWebResponse response = (FtpWebResponse)ex.Response; if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable) { FtpWebRequest upload_request = (FtpWebRequest)FtpWebRequest.Create(file_ftpURI); upload_request.Credentials = new NetworkCredential(ftp_user, ftp_pass); upload_request.Method = WebRequestMethods.Ftp.UploadFile; upload_request.UsePassive = true; upload_request.UseBinary = true; upload_request.KeepAlive = false; using (var fs = File.OpenRead(fi_attachment)) using (Stream upload_request_stream = upload_request.GetRequestStream()) { fs.CopyTo(upload_request_stream); } FtpWebResponse upload_response = (FtpWebResponse)upload_request.GetResponse(); fileSaved = true; this.Label1.Text = "Upload Successful"; } } } return fileSaved; } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload