Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DecodeFrame failed #4928

Open
2 tasks done
Huhugarich opened this issue May 15, 2024 · 1 comment
Open
2 tasks done

DecodeFrame failed #4928

Huhugarich opened this issue May 15, 2024 · 1 comment

Comments

@Huhugarich
Copy link

Huhugarich commented May 15, 2024

  • I have read the FAQ.
  • I have searched in existing issues.

Environment

  • OS: Fedora KDE 40
  • scrcpy version: 2.4
  • installation method: apt
  • device model: OnePlus 7 Pro
  • Android version: 14 (Custom ROM YAAP)

INFO: Renderer: opengl
INFO: OpenGL version: 4.6.0 NVIDIA 550.78
INFO: Trilinear filtering enabled
INFO: Texture: 888x1920

Describe the bug
Hello, I'm facing a problem, scrcpy crashes approximately every 2-3 minutes with the log below, I tried other codecs, but they all work very slowly, only launching with these parameters meets my requirements for responsiveness, but leads to the error "scrcpy - -turn-screen-off --keyboard=uhid -e -b30M --max-size 1920 --video-bit-rate=24M
". In this regard, I would like to know how to solve the problem, because it is almost impossible to use with other codecs. I run it with adb over Wi-Fi. And all the time the same packet with a number -1313558101 in error log.

WARN: [FFmpeg] [OpenH264] this = 0x0x7ff7d40020f0, Warning:DecodeCurrentAccessUnit() failed (459800) in frame: 0 uiDId: 0 uiQId: 0
ERROR: [FFmpeg] DecodeFrame failed
ERROR: Decoder 'video': could not send video packet: -1313558101
ERROR: Demuxer error

@rom1v
Copy link
Collaborator

rom1v commented May 16, 2024

ERROR: Decoder 'video': could not send video packet: -1313558101

$ printf '%x' 1313558101 | xxd -r -p | rev
UNKN

It's AVERROR_UNKNOWN.

It's either a bug in the encoder or the decoder.

To determine which one is the culprit, you could try to record a capture with the same parameters, but without playback:

scrcpy --turn-screen-off -e -b30M --max-size 1920 --video-bit-rate=24M --no-playback --record=file.mp4

After a few minutes, stop the capture and play the file with a media player (like VLC). Does it decode successfully?

If you record to .mkv, you should even be able to play the file while it is recorded.

scrcpy --turn-screen-off -e -b30M --max-size 1920 --video-bit-rate=24M --no-playback --record=file.mkv
# in parallel, a few seconds later
vlc file.mkv

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants