एफएफएमपीजी सेगफॉल्ट सॉल्यूशंस


1

मैं फिल्मों का एक गुच्छा h.264 mp4 में FFMPEG का उपयोग करके बदलने की कोशिश कर रहा हूं। ये फिल्में विभिन्न पोर्टेबल कैमकोर्डर जैसे कि फ्लिप मिनो एचडी और कोडक ZI8 से सॉर्ट की गई हैं। एक मुद्दा मैं ZI8 से वीडियो के साथ कर रहा हूँ यह FFMPEG segfault करने के लिए कारण हो रहा है।

यहाँ मेरी आज्ञा है:

ffmpeg -i 'XmasSailor720p60fps.MOV' -threads 2 -acodec libfaac -ab 96kb -vcodec libx264 -vpre hq -b 500kb -s 484x272 XmasSailor.mp4

यहाँ उत्पादन है:

FFmpeg version SVN-r20668, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  built on Dec  2 2009 18:37:34 with gcc 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
  configuration: --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared
  libavutil     50. 5. 1 / 50. 5. 1
  libavcodec    52.42. 0 / 52.42. 0
  libavformat   52.39. 2 / 52.39. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0. 7. 2 /  0. 7. 2
  libpostproc   51. 2. 0 / 51. 2. 0

Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'XmasSailor720p60fps.MOV':
  Duration: 00:00:05.37, start: 0.000000, bitrate: 12021 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 11994 kb/s, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 128 kb/s
  Metadata
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    comment         : KODAK Zi8 Pocket Video Camera
    comment-eng     : KODAK Zi8 Pocket Video Camera
[libx264 @ 0x99e1020]using SAR=1/1
[libx264 @ 0x99e1020]using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
[libx264 @ 0x99e1020]profile High, level 2.1
Output #0, mp4, to 'XmasSailor.mp4':
    Stream #0.0(eng): Video: libx264, yuv420p, 484x272 [PAR 1:1 DAR 121:68], q=10-51, 500 kb/s, 30k tbn, 29.97 tbc
    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 96 kb/s
  Metadata
    comment         : Encoded with the Statusfirm Video Transcoder
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding
[h264 @ 0x99de950]B picture before any references, skipping
[h264 @ 0x99de950]decode_slice_header error
[h264 @ 0x99de950]no frame!
Error while decoding stream #0.0
[h264 @ 0x99de950]B picture before any references, skipping
[h264 @ 0x99de950]decode_slice_header error
[h264 @ 0x99de950]no frame!
Error while decoding stream #0.0
frame=   20 fps=  0 q=13797729.0 size=       0kB time=0.66 bitrate=   0.6kbits/s    
frame=   39 fps= 37 q=13797729.0 size=       0kB time=1.30 bitrate=   0.3kbits/s    
frame=   48 fps= 30 q=33.0 size=      11kB time=0.10 bitrate= 903.0kbits/s    
frame=   58 fps= 27 q=31.0 size=      22kB time=0.43 bitrate= 421.0kbits/s    
frame=   67 fps= 25 q=29.0 size=      41kB time=0.73 bitrate= 462.6kbits/s    
frame=   75 fps= 23 q=29.0 size=      59kB time=1.00 bitrate= 486.7kbits/s    
frame=   83 fps= 22 q=29.0 size=      81kB time=1.27 bitrate= 521.9kbits/s    
frame=   90 fps= 21 q=29.0 size=      97kB time=1.50 bitrate= 530.1kbits/s    
frame=   98 fps= 20 q=29.0 size=     114kB time=1.77 bitrate= 526.9kbits/s    
frame=  106 fps= 20 q=29.0 size=     134kB time=2.04 bitrate= 537.7kbits/s    
frame=  114 fps= 19 q=29.0 size=     150kB time=2.30 bitrate= 533.7kbits/s    
frame=  122 fps= 19 q=29.0 size=     172kB time=2.57 bitrate= 547.8kbits/s    
frame=  130 fps= 19 q=29.0 size=     193kB time=2.84 bitrate= 557.5kbits/s    
frame=  136 fps= 18 q=29.0 size=     211kB time=3.04 bitrate= 570.0kbits/s    
frame=  144 fps= 18 q=29.0 size=     242kB time=3.30 bitrate= 599.5kbits/s    
frame=  152 fps= 17 q=30.0 size=     261kB time=3.57 bitrate= 598.6kbits/s    
frame=  157 fps= 15 q=-1.0 Lsize=     368kB time=5.21 bitrate= 579.3kbits/s    
video:302kB audio:61kB global headers:0kB muxing overhead 1.416371%
[libx264 @ 0x99e1020]frame I:1     Avg QP:27.22  size:  8720
[libx264 @ 0x99e1020]frame P:48    Avg QP:25.15  size:  3759
[libx264 @ 0x99e1020]frame B:108   Avg QP:30.10  size:  1105
[libx264 @ 0x99e1020]consecutive B-frames:  0.6% 11.5% 28.8% 59.0%
[libx264 @ 0x99e1020]mb I  I16..4: 28.5% 47.6% 23.9%
[libx264 @ 0x99e1020]mb P  I16..4:  0.8%  1.3%  0.5%  P16..4: 50.6% 17.7% 13.1%  0.0%  0.0%    skip:15.9%
[libx264 @ 0x99e1020]mb B  I16..4:  0.2%  0.3%  0.1%  B16..8: 44.0%  1.2%  2.6%  direct: 5.1%  skip:46.5%  L0:45.5% L1:51.0% BI: 3.5%
[libx264 @ 0x99e1020]final ratefactor: 23.51
[libx264 @ 0x99e1020]8x8 transform intra:49.9% inter:67.9%
[libx264 @ 0x99e1020]direct mvs  spatial:98.1% temporal:1.9%
[libx264 @ 0x99e1020]coded y,uvDC,uvAC intra: 54.7% 76.1% 41.4% inter: 17.1% 24.4% 7.8%
[libx264 @ 0x99e1020]i16 v,h,dc,p: 18% 52%  5% 25%
[libx264 @ 0x99e1020]i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 22%  9%  7% 10% 10%  9%  8% 13%
[libx264 @ 0x99e1020]i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 18%  8%  8% 10% 13% 10%  9% 12%
[libx264 @ 0x99e1020]Weighted P-Frames: Y:10.4%
[libx264 @ 0x99e1020]ref P L0: 60.2% 15.3% 11.0%  7.6%  5.2%  0.7%
[libx264 @ 0x99e1020]ref B L0: 72.6% 15.6% 11.8%
[libx264 @ 0x99e1020]kb/s:471.17
Segmentation fault

मैं सोच रहा था कि क्या कोई और इसी तरह के मुद्दों में भाग गया है। मैं Google के माध्यम से कुछ भी उपयोगी नहीं पा रहा था।

मेरे पास एक और सवाल है कि क्या किसी को उस कंपनी के बारे में पता है जो FFMPEG के लिए भुगतान किया गया समर्थन प्रदान करता है।

आपके समय के लिए शुक्रिया।

जवाबों:


1

मेरे पास libx264 एन्कोडिंग के साथ बस एक ही मुद्दा था, और मुझे इस मामले की मेरी परीक्षा से जो मिला वह ये अंक थे।

  1. Gcc> = 4.2 का प्रयोग करें
  2. सुनिश्चित करें कि आपका ffmpeg उसी libx264 संस्करण के विरुद्ध संकलित है

आपके आउटपुट से यह स्पष्ट है कि आपके पास # 1 नीचे है, इसलिए # 2 को ऐसे जांचें (पथों को संशोधित करने की आवश्यकता हो सकती है)

ldd /usr/bin/ffmpeg | grep x264

और फिर...

cat /usr/include/x264.h | grep X264_BUILD

( स्रोत )

मेरे लिए, यह जाँच की गई और मुझे सिर्फ 2-पास एन्कोडिंग नहीं करना था। थ्रेड विकल्प का उपयोग नहीं करने का भी प्रयास करें, जो संभवतः इसे ठीक कर देगा। मुझे पुराने Red Hat बॉक्स में परेशानी थी, मेरे Gentoo डेस्कटॉप को कोई परेशानी नहीं थी, मैं कहता हूँ कि स्रोत-पैकेज के प्रबंधकों की जीत!


दुर्भाग्य से ऐसा लगता है कि # 2 भी सही है। मैंने थ्रेडिंग को हटा दिया और अपने 4 वीडियो में से एक को सफलतापूर्वक रूपांतरित करने में सक्षम था, लेकिन मेरे पास अभी भी 2 हैं जो एक segfault फेंक रहे हैं।
ब्रेंटली_11

आप बस ffmpeg के हालिया स्रोत को पकड़ सकते हैं और इसे एक अस्थायी स्थान पर स्थापित कर सकते हैं और उस नए बाइनरी को चला सकते हैं जो आपके स्थापित libx264 के खिलाफ बनाया जाएगा। यह संभवत: काम करेगा यदि पैक किया गया एक अलग libx264 के खिलाफ बनाया गया है।
स्लीवबॉय
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.