ffmpeg segfaults trên độ phân giải nhất định


0

Tôi đang cố gắng sử dụng ffmpeg để ghi lại toàn bộ màn hình của mình (1366x768), nhưng nếu tôi đặt kích thước video trên một kích thước nhất định, tôi sẽ nhận được một segfault. Như có thể thấy trong đầu ra, tôi đã biên dịch từ nguồn dưới 1 giờ trước khi đăng câu hỏi này.

1366x744 (hoạt động hoàn toàn tốt)

λ ./ffmpeg -f x11grab -r 25 -s 1366x744 -i :0.0+0,24 -vcodec libx264  -threads 0 screen.mkv
ffmpeg version 2.5.1 Copyright (c) 2000-2014 the FFmpeg developers
  built on Dec 18 2014 20:32:54 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis
  libavutil      54. 15.100 / 54. 15.100
  libavcodec     56. 13.100 / 56. 13.100
  libavformat    56. 15.102 / 56. 15.102
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  2.103 /  5.  2.103
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
[x11grab @ 0x1ab6f20] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0.0+0,24':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: rawvideo (BGRA / 0x41524742), bgra, 1366x744, 25 fps, 25 tbr, 1000k tbn, 25 tbc
File 'screen.mkv' already exists. Overwrite ? [y/N] n
Not overwriting - exiting

1366x745 (segfault)

λ ./ffmpeg -f x11grab -r 25 -s 1366x745 -i :0.0+0,24 -vcodec libx264  -threads 0 screen.mkv
ffmpeg version 2.5.1 Copyright (c) 2000-2014 the FFmpeg developers
  built on Dec 18 2014 20:32:54 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis
  libavutil      54. 15.100 / 54. 15.100
  libavcodec     56. 13.100 / 56. 13.100
  libavformat    56. 15.102 / 56. 15.102
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  2.103 /  5.  2.103
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
[1]    31332 segmentation fault (core dumped)  ./ffmpeg -f x11grab -r 25 -s 1366x745 -i :0.0+0,24 -vcodec libx264 -threads 0

Có cái gì tôi đang thiếu ở đây?


Đầu ra của xwininfo -root | awk '/-geo/{print $2}'cái gì?
llogan

@LordNeckbeard1366x768+0+0
Nate Mara

Câu trả lời:


1

Độ lệch y của bạn được đặt thành 24. Thêm giá trị này vào kích thước video đầu vào của bạn sẽ dẫn đến giá trị lớn hơn kích thước màn hình của bạn (745 + 24 = 769).

Một lỗi phân đoạn có vẻ kỳ lạ bởi vì tôi tin rằng ffmpegnên cung cấp một thông báo lỗi không trực quan. Cái gì đó như:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  142 (MIT-SHM)
  Minor opcode of failed request:  4 (X_ShmGetImage)
  Serial number of failed request:  11
  Current serial number in output stream:  11
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.