public Mp4ContainerSettings(IAudioSettings audio, IVideoSettings video, IWatermarkSettings watermark) { FileNameExtension = "mp4"; Audio = audio; Video = video; Watermark = watermark; AllowedMetaData = new List<string> { "Title", "Artist", "AlbumArtist", "Album", "Grouping", "Composer", "Year", "Track", "Comment", "Genre", "Copyright", "Description", "Synopsis", "Show", "EpisodeId", "Network", "Lyrics", }; }
public FlvContainerSettings(IAudioSettings audio, IVideoSettings video, IWatermarkSettings watermark) { FileNameExtension = "flv"; Audio = audio; //These are the only 2 supported audio codecs by flv //Flash 9 is required for AAC support if (!(Audio.CodecName == "libmp3lame" || Audio.CodecName == "libvo_aacenc")) { Audio.CodecName = "libmp3lame"; } //Only the following frequencies are supported by flv when using mp3 if (Audio.CodecName == "libmp3lame") { if (!(Audio.Frequency == 11025 || Audio.Frequency == 22050 || Audio.Frequency == 44100)) { Audio.Frequency = 22050; } } Video = video; Watermark = watermark; AllowedMetaData = new List<string>(); }
private void DoAddWatermark(PdfDocument pdfDocument, IWatermarkSettings watermarkSettings, Func <PdfPage, PdfDocument, PdfCanvas> GetPdfCanvas) { if (!watermarkSettings.Enabled) { return; } _logger.Debug("File: " + Path.GetFullPath(watermarkSettings.File)); var nDocument = pdfDocument.GetNumberOfPages(); var watermarkReader = new PdfReader(watermarkSettings.File); var watermarkDocument = new PdfDocument(watermarkReader); var nWatermark = watermarkDocument.GetNumberOfPages(); var watermarkPageMapper = new WatermarkPageMapper(nWatermark, watermarkSettings); for (var documentPageNumber = 1; documentPageNumber <= nDocument; documentPageNumber++) { if (!watermarkPageMapper.GetWatermarkPageNumber(documentPageNumber, out var watermarkPageNumber)) { continue; } var watermarkPage = watermarkDocument.GetPage(watermarkPageNumber); var documentPage = pdfDocument.GetPage(documentPageNumber); var watermarkPageSize = watermarkPage.GetPageSize(); var watermarkPageRotation = watermarkPage.GetRotation(); var documentPageSize = documentPage.GetPageSize(); if (documentPage.GetRotation() == 90 || documentPage.GetRotation() == 270) { //Turn with document page... //* watermarkPageRotation += 90; watermarkPageRotation = watermarkPageRotation % 360; //*/ documentPageSize = new Rectangle(documentPageSize.GetHeight(), documentPageSize.GetWidth()); } var pdfCanvas = GetPdfCanvas(documentPage, pdfDocument); pdfCanvas.SaveState(); var state = new PdfExtGState(); var opacity = watermarkSettings.Opacity / 100.0f; state.SetFillOpacity(opacity); pdfCanvas.SetExtGState(state); var watermarkCopy = watermarkPage.CopyTo(pdfDocument); var watermarkXObject = new PdfFormXObject(watermarkCopy); AddPageWithRotationAndScaling(pdfCanvas, documentPageSize, watermarkXObject, watermarkPageSize, watermarkPageRotation, watermarkSettings.FitToPage); pdfCanvas.RestoreState(); } watermarkReader.Close(); }
public OggContainerSettings(IAudioSettings audio, IVideoSettings video, IWatermarkSettings watermark) { FileNameExtension = "ogv"; Audio = audio; Audio.CodecName = "libvorbis"; //This is the only supported audio codec for the ogg container Video = video; Watermark = watermark; AllowedMetaData = new List<string>(); }
public WebmContainerSettings(IAudioSettings audio, IVideoSettings video, IWatermarkSettings watermark) { FileNameExtension = "webm"; Audio = audio; Audio.CodecName = "libvorbis"; //This is the only supported audio codec for the webm container Video = video; Watermark = watermark; AllowedMetaData = new List<string> { "Title", "Description", "Langauge", }; }
public AviContainerSettings(IAudioSettings audio, IVideoSettings video, IWatermarkSettings watermark) { FileNameExtension = "avi"; Audio = audio; Video = video; Watermark = watermark; AllowedMetaData = new List<string>() { "Title", "Artist", "Copyright", "Comment", "Album", "Genre", "Track", }; }
public WatermarkPageMapper(int numBackgroundPages, IWatermarkSettings watermarkSettings) { _numBackgroundPages = numBackgroundPages; _watermarkSettings = watermarkSettings; }