Skip to content

Commit

Permalink
fix(server): h264 videos failing to transcode in two-pass mode (#3053)
Browse files Browse the repository at this point in the history
* set `-fps_mode` to passthrough

* updated tests
  • Loading branch information
mertalev committed Jul 1, 2023
1 parent b1fcf02 commit f9671df
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 4 deletions.
37 changes: 34 additions & 3 deletions server/src/domain/media/media.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,14 @@ describe(MediaService.name, () => {
'/original/path.ext',
'upload/encoded-video/user-id/asset-id.mp4',
{
outputOptions: ['-vcodec h264', '-acodec aac', '-movflags faststart', '-preset ultrafast', '-crf 23'],
outputOptions: [
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-preset ultrafast',
'-crf 23',
],
twoPass: false,
},
);
Expand Down Expand Up @@ -261,7 +268,14 @@ describe(MediaService.name, () => {
'/original/path.ext',
'upload/encoded-video/user-id/asset-id.mp4',
{
outputOptions: ['-vcodec h264', '-acodec aac', '-movflags faststart', '-preset ultrafast', '-crf 23'],
outputOptions: [
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-preset ultrafast',
'-crf 23',
],
twoPass: false,
},
);
Expand All @@ -279,6 +293,7 @@ describe(MediaService.name, () => {
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-vf scale=-2:720',
'-preset ultrafast',
'-crf 23',
Expand All @@ -299,7 +314,14 @@ describe(MediaService.name, () => {
'/original/path.ext',
'upload/encoded-video/user-id/asset-id.mp4',
{
outputOptions: ['-vcodec h264', '-acodec aac', '-movflags faststart', '-preset ultrafast', '-crf 23'],
outputOptions: [
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-preset ultrafast',
'-crf 23',
],
twoPass: false,
},
);
Expand All @@ -318,6 +340,7 @@ describe(MediaService.name, () => {
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-vf scale=720:-2',
'-preset ultrafast',
'-crf 23',
Expand All @@ -340,6 +363,7 @@ describe(MediaService.name, () => {
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-vf scale=-2:720',
'-preset ultrafast',
'-crf 23',
Expand All @@ -362,6 +386,7 @@ describe(MediaService.name, () => {
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-vf scale=-2:720',
'-preset ultrafast',
'-crf 23',
Expand Down Expand Up @@ -392,6 +417,7 @@ describe(MediaService.name, () => {
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-vf scale=-2:720',
'-preset ultrafast',
'-crf 23',
Expand Down Expand Up @@ -419,6 +445,7 @@ describe(MediaService.name, () => {
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-vf scale=-2:720',
'-preset ultrafast',
'-b:v 3104k',
Expand All @@ -443,6 +470,7 @@ describe(MediaService.name, () => {
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-vf scale=-2:720',
'-preset ultrafast',
'-crf 23',
Expand All @@ -468,6 +496,7 @@ describe(MediaService.name, () => {
'-vcodec vp9',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-vf scale=-2:720',
'-cpu-used 5',
'-row-mt 1',
Expand Down Expand Up @@ -496,6 +525,7 @@ describe(MediaService.name, () => {
'-vcodec vp9',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-vf scale=-2:720',
'-cpu-used 5',
'-row-mt 1',
Expand All @@ -521,6 +551,7 @@ describe(MediaService.name, () => {
'-vcodec h264',
'-acodec aac',
'-movflags faststart',
'-fps_mode passthrough',
'-vf scale=-2:720',
'-preset ultrafast',
'-threads 2',
Expand Down
3 changes: 2 additions & 1 deletion server/src/domain/media/media.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,8 @@ export class MediaService {
`-acodec ${ffmpeg.targetAudioCodec}`,
// Makes a second pass moving the moov atom to the beginning of
// the file for improved playback speed.
`-movflags faststart`,
'-movflags faststart',
'-fps_mode passthrough',
];

// video dimensions
Expand Down

0 comments on commit f9671df

Please sign in to comment.