Opened 5 months ago

Closed 5 months ago

Last modified 5 months ago

#7294 closed defect (invalid)

FFmpeg copy NOT OK; FFmpeg x264 transcoding OK

Reported by: barhom Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

I came across a live channel (multicat.ts) which is recorded from satellite.
When trying to copy the stream with ffmpeg it fails.
When trying to transcode the stream with ffmpeg it succeeds.

How to reproduce:
Download the file ffmpeg_report.zip and unpack it.
Inside the folderm the original file is called 'multicat.ts'.
Run the bash script "copy.sh" to produce a copy of the file named 'copy.ts' (the bad file)
Run the bash script "transcode.sh" to produce a transcoded variant of the file named "transcoded.ts" (the good file)

Expected behaviour:
The copy.sh bash script should produce a file in similar size to the original multicat.ts file and be playable with video players.

File can be downloaded here: https://drive.google.com/file/d/1O2wZtAMj7lANT7Dm_LO_cevTFHU0xxM7/view?usp=sharing

Change History (4)

comment:1 Changed 5 months ago by barhom

  • Version changed from unspecified to git-master

comment:2 Changed 5 months ago by cehoyos

  • Component changed from ffmpeg to undetermined

Please test current FFmpeg git head, provide the command line you tested together with the complete, uncut console output here in the ticket and upload the input file to your favorite file hoster, posting a link here.

comment:3 Changed 5 months ago by mkver

  • Resolution set to invalid
  • Status changed from new to closed

The problem is that the H.264 track in this file doesn't contain any frames that ffmpeg detects as keyframes: Zero IDR frames and zero frames with recovery point SEI.
You can use the -copyinkf switch (intended to copy initial non-keyframes) as a workaround.

comment:4 Changed 5 months ago by barhom

This means that it is impossible to segment the original h264 track since it does not contain any IDR frames?

I would like to HLS segment this original h264 source by copying the stream instead of transcoding but I see no method of doing that.

Note: See TracTickets for help on using tickets.