Opened 6 months ago

Closed 6 months ago

#9509 closed defect (invalid)

Video unplayable in non-FFmpeg based players if it's past a certain length

Reported by: Balrog Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
Trying to turn a MP3 file into a video with a single frame, issue I'm facing is that there's a limit to how long the video can be, if it's 553 seconds long it can be played on MPC-HC with K-lite's codec pack, if it's 554 seconds long then it can't be played with MPC-HC and can only be played on MPV (which I believe uses FFmpeg).

I have tried a manner of modifications to the image and audio file no no avail. Can reproduce it on multiple different files, the 553/554 seconds seems to be the only consistent factor.

How to reproduce:

% ffmpeg -y -i 1.png -i 1.mp3 -c:a copy -t 554 result.mp4
2021-11-10-git-44c65c6cc0-full_build-www.gyan.dev (also tested on ffmpeg-20200807-fab00b0)

Change History (1)

comment:1 by mkver, 6 months ago

Component: ffmpegundetermined
Resolution: invalid
Status: newclosed
  1. MPC-HC also uses FFmpeg (via LAV Filters which uses FFmpeg).
  2. The command line you posted creates a file with an ordinary video (not attached picture!) track as well as an audio track. So the video track is unorthodox and this can make the file unplayable for players that expect video tracks to be non-sparse. The fact that MPV can play this file suggests that this is an issue in MPC-HC (consider increasing the length/size of the LAV Filters queue).
  3. Use "-disposition:v +attached_pic" to create an attached pic. And use a video codec appropriate for attached pics (e.g. -c:v copy in your case).
Note: See TracTickets for help on using tickets.