
May 31, 2010 23:15 by
Mikie
დამჭირდა ამას წინად და საკმაო ხანი ვიჭყლიტე ტვინი თუ როგორ გამეკეთებინა ყველაფერი ისე, რომ კონვერტაციაც წარმატებით მომხდარიყო, ფაილის ზომაც
მისაღები ყოფილიყო და ყველა მეტა ინფორმაციაც არ დაკარგულიყო.
პირველ რიგში, მთელი ამ პროცედურისათვის, საჭიროა ორი დამატებითი ფაილი
ffmpeg.exe და
flvtool2.exe
ქვემოთ მოცემული მაგალითი გადაიყვანს ნებისმიერ ვიდეო ფორმატის ფაილს flv - ში, განსაზღვრული ხარისხითა და რამდენიმე თვისებით.
using System;
using System.Diagnostics;
public partial class VideoConversation : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ConvertVideo("input.mov", "output.flv");
Fix("output.flv");
}
public void ConvertVideo(string InputFile,string OutputFile)
{
string spath;
spath = AppDomain.CurrentDomain.BaseDirectory;
string filargs = "-i " + spath + InputFile + " -ar 22050 -b 500k -f flv " + spath + OutputFile + " ";
Process proc = new Process();
proc.StartInfo.FileName = spath + "ffmpeg.exe";
proc.StartInfo.Arguments = filargs;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.RedirectStandardOutput = false;
proc.Start();
proc.WaitForExit();
proc.Close();
}
public void Fix(string Path)
{
string spath;
spath = AppDomain.CurrentDomain.BaseDirectory;
string filargs = "-U " + spath + Path;
Process proc1 = new Process();
proc1.StartInfo.FileName = spath + "flvtool2.exe";
proc1.StartInfo.Arguments = filargs;
proc1.StartInfo.UseShellExecute = false;
proc1.StartInfo.CreateNoWindow = false;
proc1.StartInfo.RedirectStandardOutput = false;
proc1.Start();
proc1.WaitForExit();
proc1.Close();
}
}
მაგალითიდან როგორც ჩანს Convert() მეთოდის მერე გამოიძახება Fix() მეთოდი და ეს ხდება იმისთვის, რომ ffmpeg - ი კონვერტირების შემდეგ არ აყოლებს რამდენიმე ჰედერს,
მაგალითად Duration (ანუ რამდენ წუთიანია ვიდეო) რაც შემდეგ ფლეშ პლეიერებს უქმნის პრობლემას ან წაკითხვაში ან TimeLine - ის ჩვენებაში.
Fix() მეთოდი იყენებს flvtool2.exe ფაილს, რომელიც აკეთებს ზუსტად ამ "შავ სამუშაოს" ანუ რაც "მოგვიფუჭა" ffmpeg - მა კონვერტაციის დროს, ყველაფერი უკან აღადგინა flvtool2 - მა.
ffmpeg - ზე დამატებითი ინფორმაციისთვის შეგიძლიათ ეწვიოთ ვებ გვერდს
ffmpeg.org
2144f202-8a39-48cb-a8ad-ce6c41ea30a5|0|.0