Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#8746 closed defect (worksforme)

Frame rate doubled when using video copy codec

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

Description

When using copy the FPS doubled.

Change History (16)

comment:1 by Atarikid, 4 years ago

Here the uncut FFmpeg log.
The final mp4 file has double FPS. The original has 29.97fps .. now it is 59.98fps

/Users/atari/Library/Application\ Support/FFmpegTools/ffmpeg\-2 -i /Users/atari/Desktop/double\ fps\ after\ copy.m2ts -c:v copy -y /Users/atari/Movies/double\ fps\ after\ copy.mp4

ffmpeg version 4.2.3-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers

built with Apple clang version 11.0.0 (clang-1100.0.33.17)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100

Input #0, mpegts, from '/Users/atari/Desktop/double fps after copy.m2ts':

Duration: 00:01:19.31, start: 1.402878, bitrate: 27861 kb/s
Program 1

Metadata:

service_name : Service01
service_provider: FFmpeg

Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x101]: Data: bin_data ([6][0][0][0] / 0x0006)

Overriding aspect ratio with stream copy may produce invalid files
Output #0, mp4, to '/Users/atari/Movies/double fps after copy.mp4':

Metadata:

creation_time : now
encoder : Lavf58.29.100
Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc

Stream mapping:

Stream #0:0 -> #0:0 (copy)

Press [q] to stop, ? for help
[mp4 @ 0x7fcd23008e00] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[mp4 @ 0x7fcd23008e00] pts has no value

Last message repeated 2371 times

frame= 4744 fps=0.0 q=-1.0 Lsize= 242606kB time=00:01:19.02 bitrate=25148.1kbits/s speed= 258x
video:242509kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.040097%

comment:2 by Carl Eugen Hoyos, 4 years ago

If you believe there is an issue, please test current FFmpeg git head, provide the command line you tested together with the complete, uncut console output for current FFmpeg git head and provide an input sample to make this a valid ticket.

comment:3 by Atarikid, 4 years ago

Did you look at the full uncut FFmpeg log I provided - including the command line? It's from the latest stable version but the latest GIT (yesterday) is exactly the same issue.

I can provide an example but it is 280MB (I don't have smaller that triggers this issue).
If you provide me a way to upload this, I would do that for sure.

in reply to:  3 comment:4 by Carl Eugen Hoyos, 4 years ago

Replying to Atarikid:

Did you look at the full uncut FFmpeg log I provided - including the command line? It's from the latest stable version but the latest GIT (yesterday) is exactly the same issue.

There is nothing unstable about current FFmpeg git head, it is the only version supported on this bug tracker.

I can provide an example but it is 280MB (I don't have smaller that triggers this issue).
If you provide me a way to upload this, I would do that for sure.

Use a file hoster of your choice or https://streams.videolan.org/upload/

comment:5 by Atarikid, 4 years ago

Here is the download link of the file that triggers this problem.
https://filebin.net/rwp2qgihnbzwg0z9

comment:6 by Atarikid, 4 years ago

And here the full uncut output (again but with the latest GIT).
As said, no differences. The issue persist.

/Users/atari/Library/Application\ Support/FFmpegTools/ffmpeggit -i /Users/atari/Desktop/double\ fps\ after\ copy.m2ts -c:v copy -y /Users/atari/Movies/double\ fps\ after\ copy_0.mp4

ffmpeg version N-98248-ga37109d555-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers

built with Apple clang version 11.0.0 (clang-1100.0.33.17)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
libavutil 56. 55.100 / 56. 55.100
libavcodec 58. 92.100 / 58. 92.100
libavformat 58. 46.101 / 58. 46.101
libavdevice 58. 11.100 / 58. 11.100
libavfilter 7. 86.100 / 7. 86.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100

Input #0, mpegts, from '/Users/atari/Desktop/double fps after copy.m2ts':

Duration: 00:01:19.31, start: 1.402878, bitrate: 27861 kb/s
Program 1

Metadata:

service_name : Service01
service_provider: FFmpeg

Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x101]: Data: bin_data ([6][0][0][0] / 0x0006)

Overriding aspect ratio with stream copy may produce invalid files
Output #0, mp4, to '/Users/atari/Movies/double fps after copy_0.mp4':

Metadata:

creation_time : now
encoder : Lavf58.46.101
Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc

Stream mapping:

Stream #0:0 -> #0:0 (copy)

Press [q] to stop, ? for help
[mp4 @ 0x7f9ff696b200] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[mp4 @ 0x7f9ff696b200] pts has no value

Last message repeated 2371 times

frame= 4744 fps=0.0 q=-1.0 Lsize= 242606kB time=00:01:19.02 bitrate=25148.1kbits/s speed= 267x
video:242509kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.040099%

comment:7 by Atarikid, 4 years ago

The destination file has double FPS and has stuttering playback.
If needed I can provide 13 in a dozen of such files. It is not only related to the one source file I provided.

comment:8 by Carl Eugen Hoyos, 4 years ago

Resolution: worksforme
Status: newclosed

Not sure I understand: The file plays for approximately 79 seconds and contains 4744, so 60 fps seem correct to me, no?

More important though: For reports like this one, do not provide an input file created with FFmpeg.

comment:9 by Atarikid, 4 years ago

the uploaded file .m2ts is the SOURCE file which has 29.97FPS and smooth. If you convert this to a MP4 container (see command line above with no re-encoding) the destination has suddenly 59.97FPS and does not play smooth.
That's the issue.

in reply to:  9 comment:10 by Carl Eugen Hoyos, 4 years ago

Replying to Atarikid:

the uploaded file .m2ts is the SOURCE file which has 29.97FPS

The file you upload has 4744 (different) frames. How long is it supposed to play in your opinion?

I hope you agree that the file you uploaded (that contains no audio and was created with FFmpeg) is not the original (dvb?) source (and may absolutely be broken).

comment:11 by Atarikid, 4 years ago

I can also upload the original which is 5GB. The uploaded file is just a trimmed version. It is not broken at all.
The result is the same as with the 5GB version.

comment:12 by Carl Eugen Hoyos, 4 years ago

I am happy to test with 5G but did you consider to use dd to cut your samples?

comment:13 by Atarikid, 4 years ago

Please try it with the file I provided. There is no difference with the 5GB version which would take 2h here to upload. The log is 100% exactly the same. Same errors etc...

in reply to:  13 comment:14 by Carl Eugen Hoyos, 4 years ago

Replying to Atarikid:

Please try it with the file I provided.

Which of my comments above gives you the impression I didn't?
Note that I asked you a question that I believe you did not answer yet.

comment:15 by Atarikid, 4 years ago

Yes, I missed that question. Reading it back.. I cannot find that question.

comment:16 by Carl Eugen Hoyos, 4 years ago

How long is the file supposed to play?

Note: See TracTickets for help on using tickets.