Closed Bug 1563667 Opened 7 years ago Closed 7 years ago

Firefox says mp4s with crf 0 are corrupt

Categories

(Core :: Audio/Video: Playback, defect, P3)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1368063

People

(Reporter: kimockb, Unassigned)

Details

(Keywords: parity-chrome)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

Steps to reproduce:

Created an mp4 video using ffmpeg with the options:

ffmpeg -r 30 -f image2 -s 1920x1080 -i %03d.png -vcodec libx264 -crf 0 -pix_fmt yuv420p video.mp4

Actual results:

Attempting to open this mp4 file with Firefox displays the message "Video can't be played because the file is corrupt"

Expected results:

The video should play. VLC plays it and as far as I can tell 0 is a valid crf value.
I've tried this with multiple videos but all my examples are huge with crf 0. If you can't whip up something on your end I'm happy to provide an example.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: parity-chrome
Priority: -- → P3

Looking into the files generated I think the issue is that crf forces yuv444p despite the pix_fmt arg. I suppose this makes sense in that crf 0 is lossless and if you start subsampling you're introducing loss. Because of limitations in the decoders we on different platforms, we cannot ensure the ability to decode 444.

Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.