Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
FFmpeg audio doesnt work in converted videos but in pc it does
28 octobre 2013, par Dirk SwarzI use:
if($ext == "avi" && $convert_avi == true) { $convert_source = _VIDEOS_DIR_PATH.$new_name; $conv_name = substr(md5($file['name'].rand(1,888)), 2, 10).".mp4"; $converted_file = _VIDEOS_DIR_PATH.$conv_name; $ffmpeg_command = 'ffmpeg -i '.$convert_source.' -acodec libmp3lame -vcodec libx264 -s 1280x720 -ar 44100 -async 44100 -r 29.970 -ac 2 -qscale 5 '.$converted_file; echo exec($ffmpeg_command); $sql = "UPDATE pm_temp SET url = '".$conv_name."' WHERE url = '".$new_name."' LIMIT 1"; $result = @mysql_query($sql); unlink($convert_source); }
This code to convert avi to mp4 ffmpeg concole output:
root@1tb:~# ffmpeg -i sample.avi -acodec libmp3lame -vcodec libx264 -s 1280x720 -ar 44100 -async 44100 -r 29.970 -ac 2 -qscale 5 goodsample.mp4 ffmpeg version 0.7.15, Copyright (c) 2000-2013 the FFmpeg developers built on Feb 22 2013 07:18:58 with gcc 4.4.5 configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libfreetype --enable-libschroedinger --disable-encoder=libschroedinger - s libavutil 50. 43. 0 / 50. 43. 0 libavcodec 52.123. 0 / 52.123. 0 libavformat 52.111. 0 / 52.111. 0 libavdevice 52. 5. 0 / 52. 5. 0 libavfilter 1. 80. 0 / 1. 80. 0 libswscale 0. 14. 1 / 0. 14. 1 libpostproc 51. 2. 0 / 51. 2. 0 [mp3 @ 0x191d4100] Header missing [mpeg4 @ 0x191d1dc0] Invalid and inefficient vfw-avi packed B frames detected Input #0, avi, from 'sample.avi': Metadata: encoder : VirtualDubMod 1.5.10.2 (build 2540/release) Duration: 00:01:01.81, start: 0.000000, bitrate: 1194 kb/s Stream #0.0: Video: mpeg4, yuv420p, 640x352 [PAR 1:1 DAR 20:11], 23.98 tbr, Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s [buffer @ 0x191d1c80] w:640 h:352 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param: [scale @ 0x191d6880] w:640 h:352 fmt:yuv420p -> w:1280 h:720 fmt:yuv420p flags:0 [libx264 @ 0x191ce5a0] Default settings detected, using medium profile [libx264 @ 0x191ce5a0] using SAR=45/44 [libx264 @ 0x191ce5a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle S [libx264 @ 0x191ce5a0] profile High, level 3.1 [libx264 @ 0x191ce5a0] 264 - core 118 - H.264/MPEG-4 AVC codec - Copyleft 2003-2 6 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_off 1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_l Output #0, mp4, to 'goodsample.mp4': Metadata: encoder : Lavf52.111.0 Stream #0.0: Video: libx264, yuv420p, 1280x720 [PAR 45:44 DAR 20:11], q=2-31 Stream #0.1: Audio: libmp3lame, 44100 Hz, stereo, s16, 64 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Press [q] to stop, [?] for help [mp3 @ 0x191d4100] Header missing Error while decoding stream #0.1 [mpeg4 @ 0x191d1dc0] Invalid and inefficient vfw-avi packed B frames detected [mp3 @ 0x191d4100] incomplete frame 9467kB time=00:01:00.32 bitrate=1285.5kbits/ Error while decoding stream #0.1 frame= 1852 fps= 20 q=29.0 Lsize= 9652kB time=00:01:01.72 bitrate=1280.9kbits video:9121kB audio:483kB global headers:0kB muxing overhead 0.499688% frame I:11 Avg QP:16.78 size: 51456 [libx264 @ 0x191ce5a0] frame P:784 Avg QP:20.81 size: 8954 [libx264 @ 0x191ce5a0] frame B:1057 Avg QP:26.06 size: 1659 [libx264 @ 0x191ce5a0] consecutive B-frames: 22.0% 3.1% 7.5% 67.4% [libx264 @ 0x191ce5a0] mb I I16..4: 31.1% 59.8% 9.1% [libx264 @ 0x191ce5a0] mb P I16..4: 1.8% 2.6% 0.2% P16..4: 24.3% 7.0% 4.0 [libx264 @ 0x191ce5a0] mb B I16..4: 0.1% 0.1% 0.0% B16..8: 22.7% 0.8% 0.2 [libx264 @ 0x191ce5a0] 8x8 transform intra:57.0% inter:72.6% [libx264 @ 0x191ce5a0] coded y,uvDC,uvAC intra: 44.4% 33.3% 10.3% inter: 7.6% 5. [libx264 @ 0x191ce5a0] i16 v,h,dc,p: 68% 14% 8% 10% [libx264 @ 0x191ce5a0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 14% 27% 5% 7% 7% 6 [libx264 @ 0x191ce5a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 14% 14% 6% 10% 9% 7 [libx264 @ 0x191ce5a0] i8c dc,h,v,p: 67% 13% 17% 3% [libx264 @ 0x191ce5a0] Weighted P-Frames: Y:1.9% UV:0.4% [libx264 @ 0x191ce5a0] ref P L0: 62.2% 12.8% 10.3% 14.5% 0.2% [libx264 @ 0x191ce5a0] ref B L0: 88.1% 5.5% 6.4% [libx264 @ 0x191ce5a0] ref B L1: 95.7% 4.3% [libx264 @ 0x191ce5a0] kb/s:1209.03
I know there is couple errors tough, but i dont know hot to fix it. Also i would be very thankfull if someone can help reduce video size but is not main problem video weights as original avi but sill.
-
Ffmpeg how to reduce video weight after convertation
27 octobre 2013, par Dirk SwarzIm using this php code to convert from avi to mp4:
$ffmpeg_command = 'ffmpeg -i '.$convert_source.' -acodec libmp3lame -vcodec libx264 -s 1280x720 -ar 44100 -async 44100 -r 29.970 -ac 2 -qscale 5 '.$converted_file;
and this is bad becose when i convert for example 1mb avi movie it converts and plays in flash player but it weights 11mb how can i reduce it?
-
Hardsub issue with ffmpeg
27 octobre 2013, par user2925649I am trying to hardsub subtitle files on videos with ffmpeg. The video is creating properly but I can't see any text on it. I am on Windows.
Test with .srt file
ffmpeg started on 2013-10-27 at 19:27:24 Report written to "ffmpeg-20131027-192724.log" Command line: "C:\\Users\\a\\Documents\\Projects\\videoArac\\videoArac\\bin\\Debug\\calis.exe" -y -i "D:\\ortamFabrika\\videoTest\\videolar\\1.mp4" -vf "subtitles=altyazi2895625.srt" -vcodec mpeg2video -qscale 1 "C:\\Users\\a\\Documents\\Projects\\videoArac\\videoArac\\bin\\Debug\\altyazi5795186.mpg" -report ffmpeg version N-48675-g2672b2c Copyright (c) 2000-2013 the FFmpeg developers built on Jan 9 2013 23:25:59 with gcc 4.7.2 (GCC) configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib --enable-filter=frei0r libavutil 52. 13.100 / 52. 13.100 libavcodec 54. 86.100 / 54. 86.100 libavformat 54. 59.107 / 54. 59.107 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 32.100 / 3. 32.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Splitting the commandline. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-i' ... matched as input file with argument 'D:\ortamFabrika\videoTest\videolar\1.mp4'. Reading option '-vf' ... matched as option 'vf' (video filters) with argument 'subtitles=altyazi2895625.srt'. Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'mpeg2video'. Reading option '-qscale' ... matched as option 'qscale' (use fixed quality scale (VBR)) with argument '1'. Reading option 'C:\Users\a\Documents\Projects\videoArac\videoArac\bin\Debug\altyazi5795186.mpg' ... matched as output file. Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'. Finished splitting the commandline. Parsing a group of options: global . Applying option y (overwrite output files) with argument 1. Applying option report (generate a report) with argument 1. Successfully parsed a group of options. Parsing a group of options: input file D:\ortamFabrika\videoTest\videolar\1.mp4. Successfully parsed a group of options. Opening an input file: D:\ortamFabrika\videoTest\videolar\1.mp4. [mov,mp4,m4a,3gp,3g2,mj2 @ 00794f60] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100 [mov,mp4,m4a,3gp,3g2,mj2 @ 00794f60] ISO: File Type Major Brand: isom [mov,mp4,m4a,3gp,3g2,mj2 @ 00794f60] File position before avformat_find_stream_info() is 667830 [h264 @ 007929a0] Using externally provided dimensions [h264 @ 007929a0] no picture [mov,mp4,m4a,3gp,3g2,mj2 @ 00794f60] All info found [mov,mp4,m4a,3gp,3g2,mj2 @ 00794f60] File position after avformat_find_stream_info() is 2014 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\ortamFabrika\videoTest\videolar\1.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf53.21.0 Duration: 00:00:15.96, start: 0.000000, bitrate: 334 kb/s Stream #0:0(und), 2, 1/25: Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 9 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc Metadata: handler_name : VideoHandler Stream #0:1(und), 1, 1/44100: Audio: mp3 (mp4a / 0x6134706D), 44100 Hz, stereo, s16p, 319 kb/s Metadata: handler_name : SoundHandler Successfully openened the file. Parsing a group of options: output file C:\Users\a\Documents\Projects\videoArac\videoArac\bin\Debug\altyazi5795186.mpg. Applying option vf (video filters) with argument subtitles=altyazi2895625.srt. Applying option vcodec (force video codec ('copy' to copy stream)) with argument mpeg2video. Applying option qscale (use fixed quality scale (VBR)) with argument 1. Please use -q:a or -q:v, -qscale is ambiguous Successfully parsed a group of options. Opening an output file: C:\Users\a\Documents\Projects\videoArac\videoArac\bin\Debug\altyazi5795186.mpg. Successfully openened the file. [subtitles @ 003fd840] Setting 'filename' to value 'altyazi2895625.srt' [Parsed_subtitles_0 @ 0079a180] Raster: FreeType 2.4.10 [Parsed_subtitles_0 @ 0079a180] Shaper: FriBidi 0.19.5 (SIMPLE) [Parsed_subtitles_0 @ 0079a180] Initialized [Parsed_subtitles_0 @ 0079a180] No usable fontconfig configuration file found, using fallback. [srt @ 007ac380] Format srt probed with size=2048 and score=100 [srt @ 007ac380] File position before avformat_find_stream_info() is 280 [srt @ 007ac380] All info found [srt @ 007ac380] Estimating duration from bitrate, this may be inaccurate [srt @ 007ac380] File position after avformat_find_stream_info() is 280 [Parsed_subtitles_0 @ 0079a180] Event: [Script Info] ScriptType: v4.00+ [V4+ Styles] Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding Style: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,1,1,0,2,10,10,10,0,0 [Events] Format: Layer, Start, End, Style, Text [Parsed_subtitles_0 @ 0079a180] [Parsed_subtitles_0 @ 0079a180] Style format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding [Parsed_subtitles_0 @ 0079a180] [00798cb0] Style: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,1,1,0,2,10,10,10,0,0 [Parsed_subtitles_0 @ 0079a180] Name = Default [Parsed_subtitles_0 @ 0079a180] FontName = Arial [Parsed_subtitles_0 @ 0079a180] FontSize = 16 [Parsed_subtitles_0 @ 0079a180] PrimaryColour = &Hffffff [Parsed_subtitles_0 @ 0079a180] SecondaryColour = &Hffffff [Parsed_subtitles_0 @ 0079a180] OutlineColour = &H0 [Parsed_subtitles_0 @ 0079a180] BackColour = &H0 [Parsed_subtitles_0 @ 0079a180] Bold = 0 [Parsed_subtitles_0 @ 0079a180] Italic = 0 [Parsed_subtitles_0 @ 0079a180] Underline = 0 [Parsed_subtitles_0 @ 0079a180] BorderStyle = 1 [Parsed_subtitles_0 @ 0079a180] Outline = 1 [Parsed_subtitles_0 @ 0079a180] Shadow = 0 [Parsed_subtitles_0 @ 0079a180] Alignment = 2 [Parsed_subtitles_0 @ 0079a180] MarginL = 10 [Parsed_subtitles_0 @ 0079a180] MarginR = 10 [Parsed_subtitles_0 @ 0079a180] MarginV = 10 [Parsed_subtitles_0 @ 0079a180] Encoding = 0 [Parsed_subtitles_0 @ 0079a180] Event format: Layer, Start, End, Style, Text [Parsed_subtitles_0 @ 0079a180] Event: Dialogue: 0,0:00:01.48,0:00:04.02,Default,{\c&HFF00&}VimeoSrtPlayer Example{\c} [Parsed_subtitles_0 @ 0079a180] [Parsed_subtitles_0 @ 0079a180] Layer = 0 [Parsed_subtitles_0 @ 0079a180] Start = 0:00:01.48 [Parsed_subtitles_0 @ 0079a180] Duration = 0:00:04.02 [Parsed_subtitles_0 @ 0079a180] Style = Default [Parsed_subtitles_0 @ 0079a180] Text = {\c&HFF00&}VimeoSrtPlayer Example{\c} [Parsed_subtitles_0 @ 0079a180] Event: Dialogue: 0,0:00:05.05,0:00:09.55,Default,Support for {\i1}italic{\i0} font [Parsed_subtitles_0 @ 0079a180] [Parsed_subtitles_0 @ 0079a180] Layer = 0 [Parsed_subtitles_0 @ 0079a180] Start = 0:00:05.05 [Parsed_subtitles_0 @ 0079a180] Duration = 0:00:09.55 [Parsed_subtitles_0 @ 0079a180] Style = Default [Parsed_subtitles_0 @ 0079a180] Text = Support for {\i1}italic{\i0} font [Parsed_subtitles_0 @ 0079a180] Event: Dialogue: 0,0:00:09.38,0:00:13.75,Default,Support for {\b1}bold{\b0} font [Parsed_subtitles_0 @ 0079a180] [Parsed_subtitles_0 @ 0079a180] Layer = 0 [Parsed_subtitles_0 @ 0079a180] Start = 0:00:09.38 [Parsed_subtitles_0 @ 0079a180] Duration = 0:00:13.75 [Parsed_subtitles_0 @ 0079a180] Style = Default [Parsed_subtitles_0 @ 0079a180] Text = Support for {\b1}bold{\b0} font [Parsed_subtitles_0 @ 0079a180] Event: Dialogue: 0,0:00:14.81,0:00:16.14,Default,Multi\NLine\NSupport ;) [Parsed_subtitles_0 @ 0079a180] [Parsed_subtitles_0 @ 0079a180] Layer = 0 [Parsed_subtitles_0 @ 0079a180] Start = 0:00:14.81 [Parsed_subtitles_0 @ 0079a180] Duration = 0:00:16.14 [Parsed_subtitles_0 @ 0079a180] Style = Default [Parsed_subtitles_0 @ 0079a180] Text = Multi\NLine\NSupport ;) [AVIOContext @ 007ac920] Statistics: 280 bytes read, 0 seeks [buffer @ 003fd960] Setting entry with key 'video_size' to value '1280x720' [buffer @ 003fd960] Setting entry with key 'pix_fmt' to value '0' [buffer @ 003fd960] Setting entry with key 'time_base' to value '1/25' [buffer @ 003fd960] Setting entry with key 'pixel_aspect' to value '1/1' [buffer @ 003fd960] Setting entry with key 'sws_param' to value 'flags=2' [buffer @ 003fd960] Setting entry with key 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 007a9fc0] w:1280 h:720 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2 [abuffer @ 003fd9e0] Setting entry with key 'time_base' to value '1/44100' [abuffer @ 003fd9e0] Setting entry with key 'sample_rate' to value '44100' [abuffer @ 003fd9e0] Setting entry with key 'sample_fmt' to value 's16p' [abuffer @ 003fd9e0] Setting entry with key 'channel_layout' to value '0x3' [graph 1 input from stream 0:1 @ 007aee60] tb:1/44100 samplefmt:s16p samplerate:44100 chlayout:0x3 [aformat @ 00796340] Setting entry with key 'sample_fmts' to value 's16' [aformat @ 00796340] Setting entry with key 'sample_rates' to value '44100,48000,32000,22050,24000,16000' [aformat @ 00796340] Setting entry with key 'channel_layouts' to value '0x4,0x3' [audio format for output stream 0:1 @ 007aef20] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:1' [auto-inserted resampler 0 @ 007aef80] chl:stereo fmt:s16p r:44100Hz -> chl:stereo fmt:s16 r:44100Hz [mpeg2video @ 01c87260] detected 1 logical cores [mpeg2video @ 01c87260] intra_quant_bias = 96 inter_quant_bias = 0 [h264 @ 007929a0] detected 1 logical cores [mpeg @ 00798580] VBV buffer size not set, muxing may fail Output #0, mpeg, to 'C:\Users\a\Documents\Projects\videoArac\videoArac\bin\Debug\altyazi5795186.mpg': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf54.59.107 Stream #0:0(und), 0, 1/90000: Video: mpeg2video, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc Metadata: handler_name : VideoHandler Stream #0:1(und), 0, 1/90000: Audio: mp2, 44100 Hz, stereo, s16, 128 kb/s Metadata: handler_name : SoundHandler Stream mapping: Stream #0:0 -> #0:0 (h264 -> mpeg2video) Stream #0:1 -> #0:1 (mp3 -> mp2) Press [q] to stop, [?] for help [h264 @ 007929a0] Using externally provided dimensions [h264 @ 007929a0] no picture [Parsed_subtitles_0 @ 0079a180] Copying data in avfilter (have perms 5, need 3, reject 0) [Parsed_subtitles_0 @ 0079a180] Neither PlayResX nor PlayResY defined. Assuming 384x288 [Parsed_subtitles_0 @ 0079a180] Copying data in avfilter (have perms 5, need 3, reject 0) [mpeg @ 00798580] First SCR: 0 First DTS: 45000 [Parsed_subtitles_0 @ 0079a180] color: FF0000 [Parsed_subtitles_0 @ 0079a180] Copying data in avfilter (have perms 5, need 3, reject ... [Parsed_subtitles_0 @ 0079a180] Copying data in avfilter (have perms 5, need 3, reject 0) [output stream 0:0 @ 007aa0e0] EOF on sink link output stream 0:0:default. [output stream 0:1 @ 007aeec0] EOF on sink link output stream 0:1:default. No more output streams to write to, finishing. frame= 399 fps= 93 q=1.0 Lsize= 1036kB time=00:00:15.94 bitrate= 532.1kbits/s video:778kB audio:249kB subtitle:0 global headers:0kB muxing overhead 0.887275% [AVIOContext @ 003fff40] Statistics: 711491 bytes read, 2 seeks
Test with .ass file
ffmpeg started on 2013-10-27 at 19:48:45 Report written to "ffmpeg-20131027-194845.log" Command line: "C:\\Users\\a\\Documents\\Projects\\videoArac\\videoArac\\bin\\Debug\\calis.exe" -y -i "D:\\ortamFabrika\\videoTest\\videolar\\1.mp4" -vf "ass=altyazi5334240.ass" -vcodec mpeg2video -qscale 1 "C:\\Users\\a\\Documents\\Projects\\videoArac\\videoArac\\bin\\Debug\\altyazi7055475.mpg" -report ffmpeg version N-48675-g2672b2c Copyright (c) 2000-2013 the FFmpeg developers built on Jan 9 2013 23:25:59 with gcc 4.7.2 (GCC) configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib --enable-filter=frei0r libavutil 52. 13.100 / 52. 13.100 libavcodec 54. 86.100 / 54. 86.100 libavformat 54. 59.107 / 54. 59.107 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 32.100 / 3. 32.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Splitting the commandline. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-i' ... matched as input file with argument 'D:\ortamFabrika\videoTest\videolar\1.mp4'. Reading option '-vf' ... matched as option 'vf' (video filters) with argument 'ass=altyazi5334240.ass'. Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'mpeg2video'. Reading option '-qscale' ... matched as option 'qscale' (use fixed quality scale (VBR)) with argument '1'. Reading option 'C:\Users\a\Documents\Projects\videoArac\videoArac\bin\Debug\altyazi7055475.mpg' ... matched as output file. Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'. Finished splitting the commandline. Parsing a group of options: global . Applying option y (overwrite output files) with argument 1. Applying option report (generate a report) with argument 1. Successfully parsed a group of options. Parsing a group of options: input file D:\ortamFabrika\videoTest\videolar\1.mp4. Successfully parsed a group of options. Opening an input file: D:\ortamFabrika\videoTest\videolar\1.mp4. [mov,mp4,m4a,3gp,3g2,mj2 @ 00724f40] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100 [mov,mp4,m4a,3gp,3g2,mj2 @ 00724f40] ISO: File Type Major Brand: isom [mov,mp4,m4a,3gp,3g2,mj2 @ 00724f40] File position before avformat_find_stream_info() is 667830 [h264 @ 00722980] Using externally provided dimensions [h264 @ 00722980] no picture [mov,mp4,m4a,3gp,3g2,mj2 @ 00724f40] All info found [mov,mp4,m4a,3gp,3g2,mj2 @ 00724f40] File position after avformat_find_stream_info() is 2014 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\ortamFabrika\videoTest\videolar\1.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf53.21.0 Duration: 00:00:15.96, start: 0.000000, bitrate: 334 kb/s Stream #0:0(und), 2, 1/25: Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 9 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc Metadata: handler_name : VideoHandler Stream #0:1(und), 1, 1/44100: Audio: mp3 (mp4a / 0x6134706D), 44100 Hz, stereo, s16p, 319 kb/s Metadata: handler_name : SoundHandler Successfully openened the file. Parsing a group of options: output file C:\Users\a\Documents\Projects\videoArac\videoArac\bin\Debug\altyazi7055475.mpg. Applying option vf (video filters) with argument ass=altyazi5334240.ass. Applying option vcodec (force video codec ('copy' to copy stream)) with argument mpeg2video. Applying option qscale (use fixed quality scale (VBR)) with argument 1. Please use -q:a or -q:v, -qscale is ambiguous Successfully parsed a group of options. Opening an output file: C:\Users\a\Documents\Projects\videoArac\videoArac\bin\Debug\altyazi7055475.mpg. Successfully openened the file. [ass @ 0060d840] Setting 'filename' to value 'altyazi5334240.ass' [Parsed_ass_0 @ 00725ce0] Raster: FreeType 2.4.10 [Parsed_ass_0 @ 00725ce0] Shaper: FriBidi 0.19.5 (SIMPLE) [Parsed_ass_0 @ 00725ce0] Initialized [Parsed_ass_0 @ 00725ce0] No usable fontconfig configuration file found, using fallback. [Parsed_ass_0 @ 00725ce0] File size: 1440 [Parsed_ass_0 @ 00725ce0] Style format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding [Parsed_ass_0 @ 00725ce0] [0073a030] Style: Default,Arial,16,&H00FFFFFF,&H000000FF,&H32202255,&HC8333CBA,0,0,0,0,100,100,0,0,1,3,1,2,100,100,50,1 [Parsed_ass_0 @ 00725ce0] Name = Default [Parsed_ass_0 @ 00725ce0] FontName = Arial [Parsed_ass_0 @ 00725ce0] FontSize = 16 [Parsed_ass_0 @ 00725ce0] PrimaryColour = &H00FFFFFF [Parsed_ass_0 @ 00725ce0] SecondaryColour = &H000000FF [Parsed_ass_0 @ 00725ce0] OutlineColour = &H32202255 [Parsed_ass_0 @ 00725ce0] BackColour = &HC8333CBA [Parsed_ass_0 @ 00725ce0] Bold = 0 [Parsed_ass_0 @ 00725ce0] Italic = 0 [Parsed_ass_0 @ 00725ce0] Underline = 0 [Parsed_ass_0 @ 00725ce0] StrikeOut = 0 [Parsed_ass_0 @ 00725ce0] ScaleX = 100 [Parsed_ass_0 @ 00725ce0] ScaleY = 100 [Parsed_ass_0 @ 00725ce0] Spacing = 0 [Parsed_ass_0 @ 00725ce0] Angle = 0 [Parsed_ass_0 @ 00725ce0] BorderStyle = 1 [Parsed_ass_0 @ 00725ce0] Outline = 3 [Parsed_ass_0 @ 00725ce0] Shadow = 1 [Parsed_ass_0 @ 00725ce0] Alignment = 2 [Parsed_ass_0 @ 00725ce0] MarginL = 100 [Parsed_ass_0 @ 00725ce0] MarginR = 100 [Parsed_ass_0 @ 00725ce0] MarginV = 50 [Parsed_ass_0 @ 00725ce0] Encoding = 1 [Parsed_ass_0 @ 00725ce0] Event format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text [Parsed_ass_0 @ 00725ce0] Layer = 0 [Parsed_ass_0 @ 00725ce0] Start = 0:00:00.01 [Parsed_ass_0 @ 00725ce0] Duration = 0:00:10.00 [Parsed_ass_0 @ 00725ce0] Style = Default [Parsed_ass_0 @ 00725ce0] MarginL = 0000 [Parsed_ass_0 @ 00725ce0] MarginR = 0000 [Parsed_ass_0 @ 00725ce0] MarginV = 0000 [Parsed_ass_0 @ 00725ce0] Effect = [Parsed_ass_0 @ 00725ce0] Text = {\be1}This line is 10 seconds long but will disappear and reappear alongside other subs. [Parsed_ass_0 @ 00725ce0] Layer = 0 [Parsed_ass_0 @ 00725ce0] Start = 0:00:00.01 [Parsed_ass_0 @ 00725ce0] Duration = 0:00:01.50 [Parsed_ass_0 @ 00725ce0] Style = Default [Parsed_ass_0 @ 00725ce0] MarginL = 0000 [Parsed_ass_0 @ 00725ce0] MarginR = 0000 [Parsed_ass_0 @ 00725ce0] MarginV = 0000 [Parsed_ass_0 @ 00725ce0] Effect = [Parsed_ass_0 @ 00725ce0] Text = {\be1}TEXT [Parsed_ass_0 @ 00725ce0] Layer = 0 [Parsed_ass_0 @ 00725ce0] Start = 0:00:02.00 [Parsed_ass_0 @ 00725ce0] Duration = 0:00:03.00 [Parsed_ass_0 @ 00725ce0] Style = Default [Parsed_ass_0 @ 00725ce0] MarginL = 0000 [Parsed_ass_0 @ 00725ce0] MarginR = 0000 [Parsed_ass_0 @ 00725ce0] MarginV = 0000 [Parsed_ass_0 @ 00725ce0] Effect = [Parsed_ass_0 @ 00725ce0] Text = {\be1}TEXT [Parsed_ass_0 @ 00725ce0] Layer = 0 [Parsed_ass_0 @ 00725ce0] Start = 0:00:02.00 [Parsed_ass_0 @ 00725ce0] Duration = 0:00:03.00 [Parsed_ass_0 @ 00725ce0] Style = Default [Parsed_ass_0 @ 00725ce0] MarginL = 0000 [Parsed_ass_0 @ 00725ce0] MarginR = 0000 [Parsed_ass_0 @ 00725ce0] MarginV = 0000 [Parsed_ass_0 @ 00725ce0] Effect = [Parsed_ass_0 @ 00725ce0] Text = {\be1}TEXT [Parsed_ass_0 @ 00725ce0] Layer = 0 [Parsed_ass_0 @ 00725ce0] Start = 0:00:02.00 [Parsed_ass_0 @ 00725ce0] Duration = 0:00:03.00 [Parsed_ass_0 @ 00725ce0] Style = Default [Parsed_ass_0 @ 00725ce0] MarginL = 0000 [Parsed_ass_0 @ 00725ce0] MarginR = 0000 [Parsed_ass_0 @ 00725ce0] MarginV = 0000 [Parsed_ass_0 @ 00725ce0] Effect = [Parsed_ass_0 @ 00725ce0] Text = {\be1}TEXT [Parsed_ass_0 @ 00725ce0] Layer = 0 [Parsed_ass_0 @ 00725ce0] Start = 0:00:02.00 [Parsed_ass_0 @ 00725ce0] Duration = 0:00:03.00 [Parsed_ass_0 @ 00725ce0] Style = Default [Parsed_ass_0 @ 00725ce0] MarginL = 0000 [Parsed_ass_0 @ 00725ce0] MarginR = 0000 [Parsed_ass_0 @ 00725ce0] MarginV = 0000 [Parsed_ass_0 @ 00725ce0] Effect = [Parsed_ass_0 @ 00725ce0] Text = {\be1}TEXT [Parsed_ass_0 @ 00725ce0] Layer = 0 [Parsed_ass_0 @ 00725ce0] Start = 0:00:05.00 [Parsed_ass_0 @ 00725ce0] Duration = 0:00:06.00 [Parsed_ass_0 @ 00725ce0] Style = Default [Parsed_ass_0 @ 00725ce0] MarginL = 0000 [Parsed_ass_0 @ 00725ce0] MarginR = 0000 [Parsed_ass_0 @ 00725ce0] MarginV = 0000 [Parsed_ass_0 @ 00725ce0] Effect = [Parsed_ass_0 @ 00725ce0] Text = {\be1}TEXT [Parsed_ass_0 @ 00725ce0] Layer = 0 [Parsed_ass_0 @ 00725ce0] Start = 0:00:07.00 [Parsed_ass_0 @ 00725ce0] Duration = 0:00:09.00 [Parsed_ass_0 @ 00725ce0] Style = Default [Parsed_ass_0 @ 00725ce0] MarginL = 0000 [Parsed_ass_0 @ 00725ce0] MarginR = 0000 [Parsed_ass_0 @ 00725ce0] MarginV = 0000 [Parsed_ass_0 @ 00725ce0] Effect = [Parsed_ass_0 @ 00725ce0] Text = {\be1}TEXT [Parsed_ass_0 @ 00725ce0] Added subtitle file: 'altyazi5334240.ass' (2 styles, 8 events) [buffer @ 0060d960] Setting entry with key 'video_size' to value '1280x720' [buffer @ 0060d960] Setting entry with key 'pix_fmt' to value '0' [buffer @ 0060d960] Setting entry with key 'time_base' to value '1/25' [buffer @ 0060d960] Setting entry with key 'pixel_aspect' to value '1/1' [buffer @ 0060d960] Setting entry with key 'sws_param' to value 'flags=2' [buffer @ 0060d960] Setting entry with key 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 0073c360] w:1280 h:720 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2 [abuffer @ 0060d9e0] Setting entry with key 'time_base' to value '1/44100' [abuffer @ 0060d9e0] Setting entry with key 'sample_rate' to value '44100' [abuffer @ 0060d9e0] Setting entry with key 'sample_fmt' to value 's16p' [abuffer @ 0060d9e0] Setting entry with key 'channel_layout' to value '0x3' [graph 1 input from stream 0:1 @ 0073de00] tb:1/44100 samplefmt:s16p samplerate:44100 chlayout:0x3 [aformat @ 007262a0] Setting entry with key 'sample_fmts' to value 's16' [aformat @ 007262a0] Setting entry with key 'sample_rates' to value '44100,48000,32000,22050,24000,16000' [aformat @ 007262a0] Setting entry with key 'channel_layouts' to value '0x4,0x3' [audio format for output stream 0:1 @ 0073dec0] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:1' [auto-inserted resampler 0 @ 0073df20] chl:stereo fmt:s16p r:44100Hz -> chl:stereo fmt:s16 r:44100Hz [mpeg2video @ 0081fc00] detected 1 logical cores [mpeg2video @ 0081fc00] intra_quant_bias = 96 inter_quant_bias = 0 [h264 @ 00722980] detected 1 logical cores [mpeg @ 00728560] VBV buffer size not set, muxing may fail Output #0, mpeg, to 'C:\Users\a\Documents\Projects\videoArac\videoArac\bin\Debug\altyazi7055475.mpg': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf54.59.107 Stream #0:0(und), 0, 1/90000: Video: mpeg2video, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc Metadata: handler_name : VideoHandler Stream #0:1(und), 0, 1/90000: Audio: mp2, 44100 Hz, stereo, s16, 128 kb/s Metadata: handler_name : SoundHandler Stream mapping: Stream #0:0 -> #0:0 (h264 -> mpeg2video) Stream #0:1 -> #0:1 (mp3 -> mp2) Press [q] to stop, [?] for help [h264 @ 00722980] Using externally provided dimensions [h264 @ 00722980] no picture [Parsed_ass_0 @ 00725ce0] Copying data in avfilter (have perms 5, need 3, reject 0) [Parsed_ass_0 @ 00725ce0] Copying data in avfilter (have perms 5, need 3, reject 0) [mpeg @ 00728560] First SCR: 0 First DTS: 45000 [Parsed_ass_0 @ 00725ce0] Copying data in avfilter (have perms 5, need 3, reject 0) [Parsed_ass_0 @ 00725ce0] Copying data in avfilter (have perms 5, need 3, reject 0) [output stream 0:0 @ 0073c480] EOF on sink link output stream 0:0:default. [output stream 0:1 @ 0073de60] EOF on sink link output stream 0:1:default. No more output streams to write to, finishing. frame= 399 fps=139 q=1.0 Lsize= 1036kB time=00:00:15.94 bitrate= 532.1kbits/s video:778kB audio:249kB subtitle:0 global headers:0kB muxing overhead 0.887275% [AVIOContext @ 00721ea0] Statistics: 711491 bytes read, 2 seeks
-
Memory leaks while doing memcpy
27 octobre 2013, par ZoellickI'm trying to write an utility dealing with ffmpeg. Once i need to copy image plane from one pointer to another. From AVPicture structure to my own. Here is some sources.
My own frame structe. Memory allocated in constructor, deallocated in destructor
template
struct Frame { DataType* data; //!< Pointer to image data int f_type; //!< Type of color space (ex. RGB, HSV, YUV) int timestamp; //!< Like ID of frame. Time of this frame in the video file int height; //!< Height of frame int width; //!< Width of frame Frame(int _height, int _width, int _f_type=0): height(_height),width(_width),f_type(_f_type) { data = new DataType[_width*_height*3]; } ~Frame() { delete[] data; } }; Here is the main loop performing conversion. If the line with memcpy is commented, there are no memory leaks at all. But if I uncomment it, the memory leak are present.
for(int i = begin; i < end; i++) { AVPicture pict; avpicture_alloc(&pict, PIX_FMT_BGR24, _width, _height); std::shared_ptr> frame(new Frame
(_height, _width, (int)PIX_FMT_BGR24)); sws_scale(ctx, frame_list[i]->data, frame_list[i]->linesize, 0, frame_list[i]->height, pict.data, pict.linesize); memcpy(frame->data,pict.data[0],_width*_height*3); //temp_to_add->push_back(std::shared_ptr>(frame)); avpicture_free(&pict); } I've been trying lot of things such as: allocating memory via malloc and deallocating via free, copying memory from pict to frame by hands (in for loop), using std::copy and avpicture_layout that is ffmpeg helper function. Nothing helps. So the question: do I forget about something important?
I will be grateful for every answer.
-
Unable to convert AVI to MP4
27 octobre 2013, par Dirk SwarzI'm able to convert an AVI video using the following command on my server:
ffmpeg -i movie.avi -acodec libmp3lame -vcodec libx264 -s 1280x720 -ar 44100 -async 44100 -r 29.970 -ac 2 -qscale 5 goodmovie.mp4
For this test I used a 1.8 MB video and after conversion it is 5 MB. I'm able to upload the video to my server after I download it from FTP and a Flash video player that I am using is able to play it fine.
Here is the PHP code I am using to attempt to automate this server command:
$ffmpeg_command = 'ffmpeg -i '.$new_name.' -acodec libmp3lame -vcodec libx264 -s 1280x720 -ar 44100 -async 44100 -r 29.970 -ac 2 -qscale 5 '.$anew_name;
It converts to MP4, but
it is not 5 MB but rather 2.2 MB when the original file is 1.8 MB
the Flash video player cannot play it