Я пытаюсь преобразовать видео, записанное с помощью смарт-часов Android (формат .mp4), в формат (.mp4), который можно воспроизводить во всех браузерах. Видео, записанное с умных часов, не воспроизводится в браузерах. Итак, я использовал ffmpeg для преобразования в воспроизводимый формат mp4.
Но иногда это показывает ошибку как x264 [error]: malloc of size 503008 failed
Что является причиной этого. Иногда он конвертируется, а иногда показывает ошибку.
Вот вывод консоли.
/usr/local/ffmpeg_build/ffmpeg/bin/ffmpeg -i /home/xestatt1/public_html/app/webroot/mobile/uploads/in/Dec152014161945.mp4 -vcodec libx264 -r 24 -s 352*288 -acodec aac -ab 12k -strict -2 /home/xestatt1/public_html/app/webroot/mobile/uploads/out/ot12.mp4
ffmpeg version 2.5.git Copyright (c) 2000-2014 the FFmpeg developers
built on Dec 13 2014 05:42:08 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-55)
configuration: --prefix=/usr/local/ffmpeg_build/ffmpeg --enable-libx264 --enable-gpl --extra-cflags=-I/usr/local/ffmpeg_build/x264/include --extra-ldflags=-L/usr/local/ffmpeg_build/x264/lib
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 14.100 / 56. 14.100
libavformat 56. 15.103 / 56. 15.103
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
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/xestatt1/public_html/app/webroot/mobile/uploads/in/Dec152014161945.mp4':
Metadata:
major_brand : 3gp4
minor_version : 0
compatible_brands: isom3gp4
creation_time : 2014-12-15 10:50:02
Duration: 00:00:10.12, start: 0.000000, bitrate: 151 kb/s
Stream #0:0(eng): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 135 kb/s, 13.14 fps, 50 tbr, 90k tbn, 200 tbc (default)
Metadata:
creation_time : 2014-12-15 10:50:02
handler_name : VideoHandle
encoder :
Stream #0:1(eng): Audio: amr_nb (samr / 0x726D6173), 8000 Hz, mono, flt, 12 kb/s (default)
Metadata:
creation_time : 2014-12-15 10:50:02
handler_name : SoundHandle
File '/home/xestatt1/public_html/app/webroot/mobile/uploads/out/ot12.mp4' already exists. Overwrite ? [y/N] y
[libx264 @ 0x13b69120] using SAR=12/11
[libx264 @ 0x13b69120] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
[libx264 @ 0x13b69120] profile High, level 1.3
[libx264 @ 0x13b69120] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/home/xestatt1/public_html/app/webroot/mobile/uploads/out/ot12.mp4':
Metadata:
major_brand : 3gp4
minor_version : 0
compatible_brands: isom3gp4
encoder : Lavf56.15.103
Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 352x288 [SAR 12:11 DAR 4:3], q=-1--1, 24 fps, 12288 tbn, 24 tbc (default)
Metadata:
creation_time : 2014-12-15 10:50:02
handler_name : VideoHandle
encoder : Lavc56.14.100 libx264
Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 8000 Hz, mono, fltp, 12 kb/s (default)
Metadata:
creation_time : 2014-12-15 10:50:02
handler_name : SoundHandle
encoder : Lavc56.14.100 aac
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (amr_nb (amrnb) -> aac (native))
Press [q] to stop, [?] for help
Past duration 1.000000 too large
Multiple frames in a packet from stream 1
Past duration 1.000000 too large
av_interleaved_write_frame(): Cannot allocate memory
x264 [error]: malloc of size 769152 failed
Video encoding failed
[libx264 @ 0x13b69120] frame I:1 Avg QP:22.20 size: 3166
[libx264 @ 0x13b69120] mb I I16..4: 28.3% 70.5% 1.3%
[libx264 @ 0x13b69120] 8x8 transform intra:70.5%
[libx264 @ 0x13b69120] coded y,uvDC,uvAC intra: 47.5% 55.3% 12.4%
[libx264 @ 0x13b69120] i16 v,h,dc,p: 16% 26% 6% 52%
[libx264 @ 0x13b69120] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 19% 15% 12% 3% 3% 3% 5% 16%
[libx264 @ 0x13b69120] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 2% 20% 10% 16% 14% 4% 11% 6%
[libx264 @ 0x13b69120] i8c dc,h,v,p: 61% 17% 19% 4%
[libx264 @ 0x13b69120] kb/s:607.87
[aac @ 0x13b6a4c0] 2 frames left in the queue on closing
Conversion failed!
ОБНОВЛЕНО
Когда я выполняю это из оболочки, она работает нормально. Но когда я создаю файл сценария и пытаюсь выполнить этот файл сценария из php, он показывает ошибку. Я увеличил лимит памяти в php, все еще он показывает ошибку. Также мы используем фреймворк ZEND. Есть ли проблемы с ZEND ??
Задача ещё не решена.
Других решений пока нет …