2012-03-07 70 views
1

添加音轨,我可以在此使用一些帮助。我想将audio.mp3文件(或其他任何格式)叠加到视频上。Expression Encoder的SDK - 如何在视频

我使用Expression Encoder的4的免费版本,所以我所有的视频输出WMV。事情是,我不知道如何将音频文件添加到视频MediaItem。我想这样的事情,但它并没有对结果添加音频:

MediaItem videoTrack = new MediaItem(@"path\to\videofile.wmv"); 
videoTrack.OutputFormat = new WindowsMediaOutputFormat(); 
videoTrack.OutputFormat.VideoProfile = new AdvancedVC1VideoProfile(); 
MediaItem audioTrack = new MediaItem(@"path\to\audio.mp3"); 
videoTrack.OutputFormat.AudioProfile = audioTrack.SourceAudioProfile; 
job.MediaItems.Add(videoTrack); 
job.Encode(); 

而当没有工作(也许是因为单独一个轮廓就是元数据,而不是音频文件本身)然后我试图覆盖音频我会叠加图像到视频的方式,这样做:

MediaItem videoTrack = new MediaItem(@"path\to\videofile.wmv"); 
string overlayFilename = @"path\to\audio.mp3"; 
videoTrack.OverlayFileName = overlayFilename; 
job.MediaItems.Add(videoTrack); 
job.Encode(); 

这太失败了,一个错误这个时候说,覆盖项目需要有视频流或某事(我猜ExEncoder预计重叠是一个视频文件)。一些帮助将不胜感激。这真的不应该是这样的困难的强大的产品像ExEncoder 4.

回答

1

MediaItem也有一个属性调用AudioOverlayFileName - 如果你想只覆盖音频,您应当设置一个!

+0

它看起来像它的工作为业主,但不适合我。在我的情况下,我有一个没有音频的视频文件和两个没有视频的音频文件。我的预期结果是一个.mp4文件,其中包含所有这些项目。我在使用这个解决方案时获得的输出只是视频。也许我做错了什么?无论如何,我建议在'NReco.VideoConverter'中使用'FFMpegConverter'类。所有你需要做的就是调用'FFMpegConverter.Invoke(“”);'用这里找到的命令之一:http://stackoverflow.com/a/11783474 – 2016-07-09 03:29:31

相关问题