68 lines
2.3 KiB
Java
68 lines
2.3 KiB
Java
package com.github.gtache.autosubtitle;
|
|
|
|
import com.github.gtache.autosubtitle.subtitle.ExportOptions;
|
|
import com.github.gtache.autosubtitle.subtitle.SubtitleCollection;
|
|
|
|
import java.io.IOException;
|
|
import java.nio.file.Path;
|
|
import java.util.Collection;
|
|
|
|
/**
|
|
* Operates on videos
|
|
*/
|
|
public interface VideoConverter {
|
|
|
|
/**
|
|
* Adds soft subtitles to the given video
|
|
*
|
|
* @param video The video
|
|
* @param subtitles The subtitles collections to add
|
|
* @param options The export options for the subtitles
|
|
* @return The modified video
|
|
* @throws IOException If an I/O error occurs
|
|
*/
|
|
Video addSoftSubtitles(final Video video, final Collection<? extends SubtitleCollection<?>> subtitles, final ExportOptions options) throws IOException;
|
|
|
|
/**
|
|
* Adds soft subtitles to the given video
|
|
*
|
|
* @param video The video
|
|
* @param subtitles The subtitles collections to add
|
|
* @param options The export options for the subtitles
|
|
* @param path The output path
|
|
* @throws IOException If an I/O error occurs
|
|
*/
|
|
void addSoftSubtitles(final Video video, final Collection<? extends SubtitleCollection<?>> subtitles, final ExportOptions options, final Path path) throws IOException;
|
|
|
|
/**
|
|
* Adds hard subtitles to the given video
|
|
*
|
|
* @param video The video
|
|
* @param subtitles The subtitle collection to add
|
|
* @param options The export options for the subtitles
|
|
* @return The modified video
|
|
* @throws IOException If an I/O error occurs
|
|
*/
|
|
Video addHardSubtitles(final Video video, final SubtitleCollection<?> subtitles, final ExportOptions options) throws IOException;
|
|
|
|
/**
|
|
* Adds hard subtitles to the given video
|
|
*
|
|
* @param video The video
|
|
* @param subtitles The subtitle collection to add
|
|
* @param options The export options for the subtitles
|
|
* @param path The output path
|
|
* @throws IOException If an I/O error occurs
|
|
*/
|
|
void addHardSubtitles(final Video video, final SubtitleCollection<?> subtitles, final ExportOptions options, final Path path) throws IOException;
|
|
|
|
/**
|
|
* Extracts the audio from the given video
|
|
*
|
|
* @param video The video
|
|
* @return The audio
|
|
* @throws IOException If an I/O error occurs
|
|
*/
|
|
Audio getAudio(final Video video) throws IOException;
|
|
}
|