1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-03 09:49:20 +02:00

Fix live replay audio/video desync

This commit is contained in:
Chocobozzz 2025-02-27 09:29:53 +01:00
parent a6a3f00be4
commit 0390864755
No known key found for this signature in database
GPG key ID: 583A612D890159BE

View file

@ -60,7 +60,7 @@ export interface MergeAudioTranscodeOptions extends BaseTranscodeVODOptions {
}
export type TranscodeVODOptions =
HLSTranscodeOptions
| HLSTranscodeOptions
| HLSFromTSTranscodeOptions
| VideoTranscodeOptions
| MergeAudioTranscodeOptions
@ -79,7 +79,7 @@ export class FFmpegVOD {
async transcode (options: TranscodeVODOptions) {
const builders: {
[ type in TranscodeVODOptionsType ]: (options: TranscodeVODOptions) => Promise<void> | void
[type in TranscodeVODOptionsType]: (options: TranscodeVODOptions) => Promise<void> | void
} = {
'quick-transcode': this.buildQuickTranscodeCommand.bind(this),
'hls': this.buildHLSVODCommand.bind(this),
@ -108,11 +108,13 @@ export class FFmpegVOD {
return this.ended
}
private async buildVODCommand (options: TranscodeVODOptions & {
private async buildVODCommand (
options: TranscodeVODOptions & {
videoStreamOnly?: boolean
canCopyAudio?: boolean
canCopyVideo?: boolean
}) {
}
) {
const {
resolution,
fps,
@ -227,6 +229,7 @@ export class FFmpegVOD {
const videoPath = this.getHLSVideoPath(options)
command.outputOption('-c copy')
command.outputOption('-copyts')
if (options.isAAC) {
// Required for example when copying an AAC stream from an MPEG-TS