Newest 'ffmpeg' Questions - Stack Overflow

http://stackoverflow.com/questions/tagged/ffmpeg

Les articles publiés sur le site

  • Hardsub issue with ffmpeg

    27 octobre 2013, par user2925649

    I 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 Zoellick

    I'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 Swarz

    I'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

  • Php fail converting avi to mp4

    27 octobre 2013, par Dirk Swarz

    I'm able to convert video via server command using:

    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.8mb 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 it will work with flash player, but when I try to automate this it fails.

    CODE:

    $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;
    $convert_avi = true;
    

    It converts to MP4, but

    • it is not 5 MB but rather 2.2 MB when the original file is 1.8 MB

    • it doesn't play in flash player

  • ffmpeg ideal format to convert videos using ffmpeg

    27 octobre 2013, par Offboard

    well the thing is, I intend to do a conversion of videos in the following qualities 240p, 360, 480p and 720p

    I researched a lot out there and got some codes to use, but there's something wrong some videos takes several hours to convert and shows this message.

    [libvo_aacenc @ 000000000032a0a0] Bitrate 32 is extremely low, maybe you mean 32k
    The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s
    

    but some videos converts normally what I want is if someone has done some code that converts faster and is lighter in player jwplayer

    ffmpeg -i discovery_channel.webm -ar 22050 -ab 32 -f mp4 -s 640x240 -preset ultrafast video240.mp4
    
    ffmpeg -i discovery_channel.webm -ar 22050 -ab 32 -f mp4 -s 640x360 video360.mp4
    
    ffmpeg -i FIDELIDADE.mp4 -ar 22050 -ab 32 -f flv -s 640x720 -preset ultrafast video720.mp4
    
    ffmpeg -i FIDELIDADE.mp4 -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 video720.mp4
    
    ffmpeg -i discovery_channel.webm -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 video360.mp4
    

    the last code I like most because it makes the conversion from vertical to 720 pixels, and does nothing in the horizontal video.

    I tested several codes, when some take too much when video with the extension "webm"

    anyway if someone has a good code that works in jwplayer and is unversão serves to any video.