FFMPEG NReco.ConcatMedia合并来自不同来源的文件

时间:2017-05-10 11:35:33

标签: c# ffmpeg nreco

需要帮助解决问题。 我从youtube下载了3个视频,然后用NReco.VideoConverter.FFMpegConverter.ConvertMedia将其剪切成小块,并附上以下代码:

        ffMpegConverter.ConvertMedia (SourceFile, Format.mp4, tempVideo, Format.mp4,
        new ConvertSettings () {
            Seek = StartTime,
            MaxDuration = (EndTime - StartTime),
            VideoCodec = "libx264",
            AudioCodec = "mp3",
            CustomOutputArgs = string.Format ("-vf \"pad=640:360:x=(640-iw)/2:y=(360-ih)/2:color=black\" -af \"volume = {0}dB\"", volumeMultiplier),
            VideoFrameRate = 25,
            AudioSampleRate = 44100,
            VideoFrameSize = "640x360"
        });

并添加了水印(仅使用内联ffmpeg命令):

-i {0} -i {1} -filter_complex \"[1:v]scale={3}:{4},format=argb,colorchannelmixer=aa={5}[wat];[0:v][wat]overlay=main_w-overlay_w-{6}:main_h-overlay_h-{7} [out]\" -map \"[out]\" -map 0:a -y {2}

当我从源#1和#2汇总视频片段时,它可以,但不是#3。我相信它(#1,#2)和(#3)格式之间存在某种兼容性问题,但这应该在ConvertMedia阶段修复,不是吗?可能是我错过了一些OutPut参数?

来自源#3 https://jpst.it/Zoof

的文件的MediaInfo示例

来自源#2 https://jpst.it/ZooC

的文件

为什么无法加入文件,在哪里搜索原因?

感谢名单。

1 个答案:

答案 0 :(得分:0)

我没有找到NReco没有合并这些文件的原因,但我写了自己的包装

DELIMITER $$

CREATE TRIGGER email_token_used
BEFORE INSERT
  ON email_token FOR EACH ROW
BEGIN

IF(EXISTS(SELECT * FROM email_token WHERE used = 'N' AND usable = 'Y' AND user_id = NEW.user_id)) THEN
BEGIN
    UPDATE email_token SET usable='N' WHERE user_id = NEW.user_id;
END;
END IF;


END$$