Recherche avancée

Médias (91)

Autres articles (96)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (8350)

  • 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
  • FFMPEG enocde flv with alpha channel

    25 octobre 2013, par tree

    I'm trying to encode a video (mov) to an flv with alpha channel in FFMPEG but I can't seem to either

    1. find a codec that is supported
    2. find one that actually maintains the alpha

    Does anyone know how to set that up ?

    Thanks,

    ffmpeg -i abc_btr_1280x800_Takeover.mov -vcodec flv -pix_fmt yuv444p -s 1280x800 test4.flv

    here is the report...

    ffmpeg started on 2013-10-25 at 15:47:30
    Report written to "ffmpeg-20131025-154730.log"
    Command line:
    ffmpeg -i abc_btr_1280x800_Takeover.mov -vcodec flv -pix_fmt yuv444p -s 1280x800     test4.flv -report
    ffmpeg version N-57367-g2f31b73 Copyright (c) 2000-2013 the FFmpeg developers
     built on Oct 23 2013 20:34:17 with gcc 4.8.2 (GCC)
     configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --    disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --    enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-    libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --    enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
     libavutil      52. 47.101 / 52. 47.101
     libavcodec     55. 38.101 / 55. 38.101
     libavformat    55. 19.104 / 55. 19.104
     libavdevice    55.  4.100 / 55.  4.100
     libavfilter     3. 89.100 /  3. 89.100
     libswscale      2.  5.101 /  2.  5.101
     libswresample   0. 17.104 /  0. 17.104
     libpostproc    52.  3.100 / 52.  3.100
    Splitting the commandline.
    Reading option '-i' ... matched as input file with argument     'abc_btr_1280x800_Takeover.mov'.
    Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to     copy stream)) with argument 'flv'.
    Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv444p'.
    Reading option '-s' ... matched as option 's' (set frame size (WxH or abbreviation)) with argument '1280x800'.
    Reading option 'test4.flv' ... 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 report (generate a report) with argument 1.
    Successfully parsed a group of options.
    Parsing a group of options: input file abc_btr_1280x800_Takeover.mov.
    Successfully parsed a group of options.
    Opening an input file: abc_btr_1280x800_Takeover.mov.
    [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000085ac00] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
    [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000085ac00] ISO: File Type Major Brand: qt  
    [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000085ac00] File position before avformat_find_stream_info() is 281624339
    [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000085ac00] All info found
    [mov,mp4,m4a,3gp,3g2,mj2 @ 000000000085ac00] File position after avformat_find_stream_info() is 288732
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'abc_btr_1280x800_Takeover.mov':
     Metadata:
       major_brand     : qt  
       minor_version   : 537199360
       compatible_brands: qt  
       creation_time   : 2013-09-22 02:50:18
     Duration: 00:00:10.00, start: 0.000000, bitrate: 225299 kb/s
       Stream #0:0(eng), 1, 1/24: Video: qtrle (rle  / 0x20656C72), bgra, 1280x800, 225293 kb/s, SAR 1280:1280 DAR 8:5, 24 fps, 24 tbr, 24 tbn, 24 tbc (default)
       Metadata:
         creation_time   : 2013-09-22 02:50:18
         handler_name    : Apple Alias Data Handler
         timecode        : 00:00:00:00
       Stream #0:1(eng), 0, 1/24: Data: none (tmcd / 0x64636D74), 0 kb/s (default)
       Metadata:
         creation_time   : 2013-09-22 02:50:22
         handler_name    : Apple Alias Data Handler
         timecode        : 00:00:00:00
    Successfully opened the file.
    Parsing a group of options: output file test4.flv.
    Applying option vcodec (force video codec ('copy' to copy stream)) with argument flv.
    Applying option pix_fmt (set pixel format) with argument yuv444p.
    Applying option s (set frame size (WxH or abbreviation)) with argument 1280x800.
    Successfully parsed a group of options.
    Opening an output file: test4.flv.
    Successfully opened the file.
    detected 4 logical cores
    [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'video_size' to value '1280x800'
    [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'pix_fmt' to value '30'
    [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'time_base' to value '1/24'
    [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'pixel_aspect' to value '1280/1280'
    [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'sws_param' to value 'flags=2'
    [graph 0 input from stream 0:0 @ 0000000000303bc0] Setting 'frame_rate' to value '24/1'
    [graph 0 input from stream 0:0 @ 0000000000303bc0] w:1280 h:800 pixfmt:bgra tb:1/24 fr:24/1 sar:1/1 sws_param:flags=2
    [scaler for output stream 0:0 @ 00000000003056a0] Setting 'w' to value '1280'
    [scaler for output stream 0:0 @ 00000000003056a0] Setting 'h' to value '800'
    [scaler for output stream 0:0 @ 00000000003056a0] Setting 'flags' to value '0x4'
    [scaler for output stream 0:0 @ 00000000003056a0] w:1280 h:800 flags:'0x4' interl:0
    Incompatible pixel format 'yuv444p' for codec 'flv', auto-selecting format 'yuv420p'
    [format @ 00000000002f8320] compat: called with args=[yuv420p]
    [format @ 00000000002f8320] Setting 'pix_fmts' to value 'yuv420p'
    [AVFilterGraph @ 000000000085bc60] query_formats: 5 queried, 4 merged, 0 already done, 0 delayed
    [scaler for output stream 0:0 @ 00000000003056a0] w:1280 h:800 fmt:bgra sar:1/1 -> w:1280 h:800 fmt:yuv420p sar:1/1 flags:0x4
    [flv @ 0000000000374be0] intra_quant_bias = 0 inter_quant_bias = -64
    Output #0, flv, to 'test4.flv':
     Metadata:
       major_brand     : qt  
       minor_version   : 537199360
       compatible_brands: qt  
       encoder         : Lavf55.19.104
       Stream #0:0(eng), 0, 1/1000: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p,             1280x800 [SAR 1:1 DAR 8:5], q=2-31, 200 kb/s, 1k tbn, 24 tbc (default)
       Metadata:
         creation_time   : 2013-09-22 02:50:18
             handler_name    : Apple Alias Data Handler
             timecode        : 00:00:00:00        
       Stream mapping:
         Stream #0:0 -> #0:0 (qtrle -> flv)
    Press [q] to stop, [?] for help
    frame=   27 fps=0.0 q=31.0 size=     351kB time=00:00:01.12 bitrate=2554.2kbits/s    
    frame=   46 fps= 45 q=31.0 size=     477kB time=00:00:01.91 bitrate=2039.5kbits/s    
    frame=   60 fps= 39 q=31.0 size=     543kB time=00:00:02.50 bitrate=1779.4kbits/s    
    frame=   74 fps= 36 q=31.0 size=     629kB time=00:00:03.08 bitrate=1672.4kbits/s    
    frame=   96 fps= 37 q=31.0 size=     795kB time=00:00:04.00 bitrate=1627.4kbits/s    
    frame=  123 fps= 40 q=31.0 size=     924kB time=00:00:05.12 bitrate=1477.0kbits/s    
    frame=  149 fps= 41 q=31.0 size=    1133kB time=00:00:06.20 bitrate=1494.7kbits/s    
    frame=  175 fps= 43 q=31.0 size=    1224kB time=00:00:07.29 bitrate=1375.5kbits/s    
    frame=  201 fps= 44 q=31.0 size=    1352kB time=00:00:08.37 bitrate=1322.7kbits/s    
    frame=  228 fps= 45 q=31.0 size=    1461kB time=00:00:09.50 bitrate=1260.1kbits/s    
    [output stream 0:0 @ 00000000003053c0] EOF on sink link output stream 0:0:default.
    No more output streams to write to, finishing.
    frame=  240 fps= 45 q=31.0 Lsize=    1600kB time=00:00:10.00 bitrate=1310.4kbits/s    

    video:1596kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.252476%
    240 frames successfully decoded, 0 decoding errors
    [AVIOContext @ 000000000032dfc0] Statistics: 3 seeks, 242 writeouts
    [AVIOContext @ 000000000085bde0] Statistics: 281664506 bytes read, 3 seeks
  • video overwriting using ffmpeg - I want to Add video rotation code and rewrite the existing file..How can i do that ?

    27 octobre 2013, par Lakshmi Priya.K

    I want to rotate the .mov file which is in portrait mode by 90 degrees, for that i used the following code..
    It works but, it results in loss of video frames...

    My code is,

    public void encode(File source, File target, EncodingAttributes attributes,
           EncoderProgressListener listener, Integer i) throws IllegalArgumentException,
           InputFormatException, EncoderException {        
       String formatAttribute = attributes.getFormat();

       Float offsetAttribute = attributes.getOffset();

       Float durationAttribute = attributes.getDuration();

       QualityScale qualityScale = attributes.getQualityScale();

       AudioAttributes audioAttributes = attributes.getAudioAttributes();

       VideoAttributes videoAttributes = attributes.getVideoAttributes();

       if (audioAttributes == null && videoAttributes == null) {
           throw new IllegalArgumentException(
                   "Both audio and video attributes are null");
       }
       target = target.getAbsoluteFile();
       target.getParentFile().mkdirs();        
       FFMPEGExecutor ffmpeg = locator.createExecutor();
       if (offsetAttribute != null) {
           ffmpeg.addArgument("-ss");
           ffmpeg.addArgument(String.valueOf(offsetAttribute.floatValue()));
       }
       ffmpeg.addArgument("-i");
       ffmpeg.addArgument(source.getAbsolutePath());
       if (durationAttribute != null) {
           ffmpeg.addArgument("-t");
           ffmpeg.addArgument(String.valueOf(durationAttribute.floatValue()));
       }
       if (qualityScale != null) {
           ffmpeg.addArgument("-qscale:"+qualityScale.getQualityStreamSpecifier());
           ffmpeg.addArgument(String.valueOf(qualityScale.getQualityValue()));
       }
       if (videoAttributes == null) {
           ffmpeg.addArgument("-vn");
       } else {
           String codec = videoAttributes.getCodec();
           if (codec != null) {
               ffmpeg.addArgument("-vcodec");
               ffmpeg.addArgument(codec);
           }
           String tag = videoAttributes.getTag();
           if (tag != null) {
               ffmpeg.addArgument("-vtag");
               ffmpeg.addArgument(tag);
           }
           Integer bitRate = videoAttributes.getBitRate();
           if (bitRate != null) {
               ffmpeg.addArgument("-b");
               ffmpeg.addArgument(String.valueOf(bitRate.intValue()));
           }
           Integer frameRate = videoAttributes.getFrameRate();
           if (frameRate != null) {
               ffmpeg.addArgument("-r");
               ffmpeg.addArgument(String.valueOf(frameRate.intValue()));
           }
           VideoSize size = videoAttributes.getSize();
           if (size != null) {
               ffmpeg.addArgument("-s");
               ffmpeg.addArgument(String.valueOf(size.getWidth()) + "x"
                       + String.valueOf(size.getHeight()));
           }
           FilterGraph filterGraph = videoAttributes.getFilterGraph();
           if (filterGraph != null) {
               ffmpeg.addArgument("-vf");
               if(videoAttributes.getRotate() != null && videoAttributes.getRotate() == 90){                  
                   ffmpeg.addArgument("transpose=1");
               }else if(videoAttributes.getRotate() != null && videoAttributes.getRotate() == 180){
                   ffmpeg.addArgument("vflip,hflip");
               }              
               else {
                   if (filterGraph.isUseExpression()) {
                       ffmpeg.addArgument(filterGraph.getFilterGraphExpression());
                   }
               }          

           }

       }
       if (audioAttributes == null) {
           ffmpeg.addArgument("-an");
       } else {
           String codec = audioAttributes.getCodec();
           if (codec != null) {
               ffmpeg.addArgument("-acodec");
               ffmpeg.addArgument(codec);
           }
           Integer bitRate = audioAttributes.getBitRate();
           if (bitRate != null) {
               ffmpeg.addArgument("-ab");
               ffmpeg.addArgument(String.valueOf(bitRate.intValue()));
           }
           Integer channels = audioAttributes.getChannels();
           if (channels != null) {
               ffmpeg.addArgument("-ac");
               ffmpeg.addArgument(String.valueOf(channels.intValue()));
           }
           Integer samplingRate = audioAttributes.getSamplingRate();
           if (samplingRate != null) {
               ffmpeg.addArgument("-ar");
               ffmpeg.addArgument(String.valueOf(samplingRate.intValue()));
           }
           Integer volume = audioAttributes.getVolume();
           if (volume != null) {
               ffmpeg.addArgument("-vol");
               ffmpeg.addArgument(String.valueOf(volume.intValue()));
           }
       }
       ffmpeg.addArgument("-f");
       ffmpeg.addArgument(formatAttribute);
       ffmpeg.addArgument("-y");
       ffmpeg.addArgument(target.getAbsolutePath());      
       try {
           ffmpeg.execute();
       } catch (IOException e) {
           throw new EncoderException(e);
       }
       try {
           String lastWarning = null;
           long duration;
           long progress = 0;
           RBufferedReader reader = null;
           reader = new RBufferedReader(new InputStreamReader(ffmpeg
                   .getErrorStream()));
           MultimediaInfo info = parseMultimediaInfo(source, reader);
           if (durationAttribute != null) {
               duration = (long) Math
                       .round((durationAttribute.floatValue() * 1000L));
           } else {
               duration = info.getDuration();
               if (offsetAttribute != null) {
                   duration -= (long) Math
                           .round((offsetAttribute.floatValue() * 1000L));
               }
           }
           if (listener != null) {
               listener.sourceInfo(info);
           }
           int step = 0;
           String line;
           while ((line = reader.readLine()) != null) {
               System.out.println("line::::"+line);

               if (step == 0) {
                   if (line.startsWith("WARNING: ")) {
                       if (listener != null) {
                           listener.message(line);
                       }
                   } else if (!line.startsWith("Output #0")) {
                       //throw new EncoderException(line);
                   } else {
                       step++;
                   }
               } else if (step == 1) {
                   if (!line.startsWith("  ")) {
                       step++;
                   } else {
                       System.out.println("line>>>>>>"+line);
                       Hashtable table1 = new Hashtable();
                       Matcher m = ROTATE_INFO_PATTERN.matcher(line);
                       while (m.find()) {
                           if (table1 == null) {
                               table1 = new Hashtable();
                           }
                           String key = m.group(1);
                           String value = m.group(2);
                           table1.put(key, value);
                       }
                       System.out.println("Table values"+table1.get("rotate"));                
                       if(table1.get("rotate") != null){
                           Object videoRotateValue = table1.get("rotate");
                           int rotate = Integer.valueOf(videoRotateValue.toString());
                           switch(rotate){
                           case 90:
                                   videoAttributes.setRotate(rotate);
                                   if(i == 0){
                                       i++;                                        
                                       encode(source, target, attributes, null, i);                                        
                                   }

                           break;
                           case 180:                      
                               videoAttributes.setRotate(rotate);
                               if(i == 0){
                                   i++;
                                   encode(source, target, attributes, null, i);                                        
                               }

                       break;
                           case 270: System.out.println("case 3 :: "+videoRotateValue);
                           break;
                           }
                       }
                   }
               }
               if (step == 2) {
                   if (!line.startsWith("Stream mapping:")) {
                       throw new EncoderException(line);
                   } else {
                       step++;
                   }
               } else if (step == 3) {
                   if (!line.startsWith("  ")) {
                       step++;
                   }
               }
               if (step == 4) {
                   line = line.trim();
                   if (line.length() > 0) {
                       Hashtable table = parseProgressInfoLine(line);
                       if (table == null) {
                           if (listener != null) {
                               listener.message(line);
                           }
                           lastWarning = line;
                       } else {
                           if (listener != null) {
                               String time = (String) table.get("time");
                               if (time != null) {
                                   int dot = time.indexOf('.');
                                   if (dot > 0 && dot == time.length() - 2
                                           && duration > 0) {
                                       String p1 = time.substring(0, dot);
                                       String p2 = time.substring(dot + 1);
                                       try {
                                           long i1 = Long.parseLong(p1);
                                           long i2 = Long.parseLong(p2);
                                           progress = (i1 * 1000L)
                                                   + (i2 * 100L);
                                           int perm = (int) Math
                                                   .round((double) (progress * 1000L)
                                                           / (double) duration);
                                           if (perm > 1000) {
                                               perm = 1000;
                                           }
                                           listener.progress(perm);
                                       } catch (NumberFormatException e) {
                                           ;
                                       }
                                   }
                               }
                           }

                           lastWarning = null;
                       }
                   }
               }
           }
           if (lastWarning != null) {
               if (!SUCCESS_PATTERN.matcher(lastWarning).matches()) {
                   throw new EncoderException(lastWarning);
               }
           }
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       } finally {
           ffmpeg.destroy();
       }
    }

    Please advise, how to achieve video rotation without any video Frame loss

    Thanks In Advance

    Lakshmi Priya . K