VideoHelp Forum
+ Reply to Thread
Results 1 to 24 of 24
Thread
  1. Member Soopafresh's Avatar
    Join Date: Jan 2004
    Location: United States
    Search Comp PM
    Lots of good stuff I haven't seen documented elsewhere. Scroll down to see it all:

    http://www.itbroadcastanddigitalcinema.com/ffmpeg_howto.html#Generic_Syntax
    Quote Quote  
  2. I'm a MEGA Super Moderator Baldrick's Avatar
    Join Date: Aug 2000
    Location: Sweden
    Search Comp PM
    I'm posting it here also if the source would disappear.
    Code:
    FFmpeg Howto
    
    
    Table of Contents
    
        * Generic Syntax
    
        * Main Options
    
        * Encoding :
              o D10 (aka Sony IMX)
              o DVCAM / DVCPRO25 / DVCPRO50
              o VC-3 (aka Avid DNxHD)
              o FFV1
              o H.264 I-frame only in Highest Quality
              o H.264 Long GOP
              o MPEG-2 I-frame only in Highest Quality
              o MPEG-2 Long GOP
    
        * Muxing and Wrapping :
              o D10 into QuickTime ( for Final Cut Pro import )
              o MPEG-2 Program Stream
    
        * Demuxing and Unwrapping :
              o MPEG-2 Program Stream
    
        * Timecode Management :
              o MPEG-2 Start Timecode
    
        * Misc :
              o Audio Volume Modification
              o Input Stream Selection
              o Sub-clip Creation
              o Make a Video File from a Single Frame
    
    
    Generic Syntax
    
    ffmpeg [[infile options][`-i' infile]]... {[outfile options] outfile}...
    
    Note : As a general rule, options are applied to the next specified file. Therefore, order is important and you can have the same option on the command line multiple times. Each occurrence is then applied to the next input or output file.
    
    
    
    Main Options
    
    -ab <int> : Set audio bitrate in bit/s ( default = 64k ).
    
    -acodec <string> : Force audio codec.
        aac : AAC-LC
        ac3 : AC3 ( Dolby Digital )
        copy : Copy raw codec data as is.
        mp2 : MPEG Audio Layer II
        mp3 : MPEG Audio Layer III
        pcm_s16le : Uncompressed 16-bit PCM Audio
    
    -an : Disable audio.
    
    -ar <int> : Set audio sampling frequency in Hz ( default = 44100 Hz ).
    
    -aspect <string or float> : Set aspect ratio ( 4:3, 16:9, 1.3333, 1.7777 ).
    
    -async <int> : Audio sync method. Audio will be stretched or squeezed to match the timestamps. The parameter is the maximum samples per second by which the audio is changed. -async 1 is a special case where only the start of the audio stream is corrected without any later correction.
    
    -b <int> : Set video bitrate in bit/s ( default = 200k ).
    
    -bf <int> : Set number of B-frames ( supported for MPEG-1, MPEG-2 and MPEG-4 ).
    
    -b_strategy <boolean> : Strategy to choose between I/P/B-frames ( 0 = off / 1 = on ).
    
    -bufsize <int> : Set rate control buffer size ( in bits ).
    
    -cmp <string or int> : Full pel motion estimation compare function.
        sad ( 0 ) : Sum of absolute differences, fast ( default ).
        sse ( 1 ) : Sum of squared errors.
        satd ( 2 ) : Sum of absolute Hadamard transformed differences.
        dct ( 3 ) : Sum of absolute DCT transformed differences.
        psnr ( 4 ) : Sum of squared quantization errors ( avoid, low quality ).
        bit ( 5 ) : Number of bits needed for the block.
        rd ( 6 ) : Rate distortion optimal, slow.
        zero ( 7 ) : 0.
        vsad ( 8 ) : Sum of absolute vertical differences.
        vsse ( 9 ) : Sum of squared vertical differences.
        nsse ( 10 ) : Noise preserving sum of squared differences.
        w53 ( 11 ) : 5/3 wavelet ( only used in Snow ).
        w97 ( 12 ) : 9/7 wavelet ( only used in Snow ).
        dctmax ( 13 )
        chroma ( 14 )
    
    -coder <string or int> :
        vlc ( 0 ) : Variable length coder / huffman coder.
        ac ( 1 ) : Arithmetic coder.
        raw ( 2 ) : Raw ( no encoding ).
        rle ( 3 ) : Run-length coder.
        deflate ( 4 ) : Deflate-based coder.
    
    -cropbottom <int> : Set bottom crop band size ( in pixels ).
    
    -cropleft <int> : Set left crop band size ( in pixels ).
    
    -cropright <int> : Set right crop band size ( in pixels ).
    
    -croptop <int> : Set top crop band size ( in pixels ).
    
    -deinterlace : Deinterlace pictures.
    
    -dc <int> : Intra DC precision.
    
    -f <string> : Force file format.
        ac3 : Raw AC3
        avi : AVI
        dv : DV
        gxf : GXF ( General eXchange Format )
        h264 : Raw H.264
        m2v : MPEG-2 Video Elemetary Stream
        m4v : MPEG-4 Video Elemetary Stream
        mov : QuickTime
        mp2 : MPEG Audio Layer II
        mp3 : MPEG Audio Layer III
        mp4 : MP4
        mpeg : MPEG-1 System Stream
        mpegts : MPEG-2 Transport Stream
        rawvideo : RAW Video
        vob : MPEG-2 Program Stream
        wav : WAV
    
    -flags <string> :
        aic : H.263 advanced intra coding / MPEG-4 ac prediction.
        aiv : H.263 alternative inter VLC.
        alt : Enable alternate scantable ( MPEG-2/MPEG-4 ).
        bitexact : Use only bitexact stuff ( except (i)dct ).
        cbp : Use rate distortion optimization for cbp.
        cgop : Closed GOP.
        gmc : Use global motion compensation.
        gray : Only decode/encode grayscale.
        ildct : Use interlaced DCT.
        ilme : Interlaced motion estimation.
        loop : Use loop filter.
        low_delay : Force low delay.
        mv0 : Always try a mb with mv=<0,0>.
        mv4 : Use four motion vector by macroblock ( MPEG-4 ).
        naq : Normalize adaptive quantization.
        obmc : Use overlapped block motion compensation ( H.263+ ).
        part : Use data partitioning.
        psnr : Error variables will be set during encoding.
        qpel : Use 1/4 pel motion compensation.
        qprd : Use rate distortion optimization for qp selection.
        scan_offset : Will reserve space for svcd scan offset user data.
        slice
        trell : Use trellis quantization.
        umv : Use unlimited motion vectors.
    
    -flags2 <string> :
        aud : Access unit delimiters ( H.264 ).
        bpyramid : Allows B-frames to be used as references for predicting.
        brdo : B-frame rate-distortion optimization.
        dct8x8 : High profile 8x8 transform ( H.264 ).
        drop_frame_timecode
        fast : Allow non spec compliant speedup tricks.
        fastpskip : Fast pskip ( H.264 ).
        ivlc : Intra VLC table.
        local_header : Place global headers at every keyframe instead of in extradata.
        mixed_refs : One reference per partition, as opposed to one reference per macroblock.
        non_linear_q : Use non linear quantizer.
        noout : Skip bitstream encoding.
        sgop : Strictly enforce GOP size.
        skiprd : RD optimal macroblock level residual skipping.
        wpred : Weighted biprediction for B-frames ( H.264 ).
    
    -formats : Show available formats, codecs, protocols, etc.
    
    -g <int> : Set the group of pictures ( GOP ) size.
    
    -genpts <boolean> : Generate PTS ( 0 = off / 1 = on ).
    
    -h : Show help.
    
    -i <string> : Input file name.
    
    -intra : Use only intra frames ( I-frames ).
    
    -loop_input : Loop ( only works with still images ).
    
    -map <file:stream>[:syncfile:syncstream] : Set input stream mapping.
    
    -maxrate <int> : Set maximum video bitrate tolerance ( in bit/s ).
    
    -me <string or int> : Set motion estimation method.
        dia ( 1 ) : Diamond search, radius 1 ( fast ).
        hex ( 2 ) : Hexagonal search, radius 2 ( default ).
        umh ( 3 ) : Uneven multi-hexagon search.
        esa ( 4 ) : Exhaustive search ( slow ).
    
    -mbd <string> : Macroblock decision algorithm ( high quality mode ).
        simple : Use mbcmp ( default ).
        bits : Use fewest bits.
        rd : Use best rate distortion.
    
    -minrate <int> : Set minimum video bitrate tolerance ( in bit/s ).
    
    -padbottom <int> : Set bottom pad band size ( in pixels ).
    
    -padcolor <int> : Set color of pad bands ( Hex 000000 to FFFFFF ).
    
    -padleft <int> : Set left pad band size ( in pixels ).
    
    -padright <int> : Set right pad band size ( in pixels ).
    
    -padtop <int> : Set top pad band size ( in pixels ).
    
    -pass <int> : Select the pass number ( 1 or 2 ). The statistics of the video are recorded in the first pass and the video is generated at the exact requested bitrate in the second pass.
    
    -pix_fmt <string> : Set pixel format.
        yuv420p
        yuv422p
        yuv444p
        yuv422
        yuv410p
        yuv411p
        yuvj420p
        yuvj422p
        yuvj444p
        rgb24
        bgr24
        rgba32
        rgb565
        rgb555
        gray
        monow
        monob
        pal8
    
    -ps <int> : Set packet size in bits.
    
    -qmax <int> : Maximum video quantizer scale ( VBR ).
    
    -qmin <int> : Minimum video quantizer scale ( VBR ).
    
    -r <int or string> : Set frame rate ( Hz value, fraction or abbreviation ). For example : 25, 30000/1001, etc.
    
    -rc_init_occupancy <int> : Number of bits which should be loaded into the rate control buffer before decoding starts.
    
    -s <string> : Set frame size ( WidthxHeight or abreviation ).
    
    -subcmp <string or int> : Sub pel motion estimation compare function.
        sad ( 0 ) : Sum of absolute differences, fast ( default ).
        sse ( 1 ) : Sum of squared errors.
        satd ( 2 ) : Sum of absolute Hadamard transformed differences.
        dct ( 3 ) : Sum of absolute DCT transformed differences.
        psnr ( 4 ) : Sum of squared quantization errors ( avoid, low quality ).
        bit ( 5 ) : Number of bits needed for the block.
        rd ( 6 ) : Rate distortion optimal, slow.
        zero ( 7 ) : 0.
        vsad ( 8 ) : Sum of absolute vertical differences.
        vsse ( 9 ) : Sum of squared vertical differences.
        nsse ( 10 ) : Noise preserving sum of squared differences.
        w53 ( 11 ) : 5/3 wavelet ( only used in Snow ).
        w97 ( 12 ) : 9/7 wavelet ( only used in Snow ).
        dctmax ( 13 )
        chroma ( 14 )
    
    -ss <timecode> : Set start time offset in seconds or hh:mm:ss[.xxx] format.
    
    -t <timecode> : Set recording time in seconds or hh:mm:ss[.xxx] format.
    
    -timecode_frame_start <int> : Set GOP start timecode value in number of frames ( ex: 1282748 for 14:15:09:23 ). Drop Frame mode is not supported.
    
    -top <int> : Field dominance ( top = 1 / bottom = 0 / auto = -1 ).
    
    -trellis <int> : Rate-distortion optimal quantization.
    
    -vbsf <string> : Bitstream filters.
        dump_extra
        imxdump
        noise
        remove_extra
    
    -vcodec <string> : Force video codec.
        copy : Copy raw codec data as is.
        dvvideo : DV Video
        ffv1 : FFV1 lossless video codec
        h264 : H.264
        mpeg2video : MPEG-2 Video
        rawvideo : RAW Video
        xvid : XviD ( MPEG-4 Part 2 )
    
    -version : Show version.
    
    -vframes <int> : Set the number of video frames to record.
    
    -vn : Disable video.
    
    -vol <int> : Modify audio volume ( 256=normal ).
    
    -vsync <int> : Video sync method. Video will be stretched or squeezed to match the timestamps, it is done by duplicating and dropping frames. With -map option, you can select from which stream the timestamps should be taken. You can leave either video or audio unchanged and sync the remaining stream(s) to the unchanged one.
    
    -vtag <string> : Force video FourCC/Tag.
    
    -y : Overwrite output files.
    
    
    
    D10 (aka Sony IMX) Encoding
    
    ffmpeg -async 1 -i <input_file> -vcodec mpeg2video -r 25 -pix_fmt yuv422p -minrate 50000k -maxrate 50000k -b 50000k -intra -flags +ildct+low_delay -dc 10 -flags2 +ivlc+non_linear_q -ps 1 -qmin 1 -qmax 3 -top 1 -bufsize 2000000 -rc_init_occupancy 2000000 -rc_buf_aggressivity 0.25 -an output.m2v
    
    Notes :
    - Only works for 25 fps content.
    - Change minrate, maxrate and b values to 30000k / 40000k / 50000k in order to produce 30/40/50 Mbps D10 essence.
    - Set bufsize and rc_init_occupancy values to 1200000 / 1600000 / 2000000 for 30/40/50 Mbps D10 essence.
    - Add the -padtop 32 option if you want to produce a 720x608 D10 image size from a 720x576 source.
    
    
    
    DVCAM / DVCPRO25 / DVCPRO50 Encoding
    
    ffmpeg -i <input_file> -pix_fmt yuv420p output_DVCAM.dv
    ffmpeg -i <input_file> -pix_fmt yuv411p output_DVCPRO25.dv
    ffmpeg -i <input_file> -pix_fmt yuv422p output_DVCPRO50.dv
    
    
    
    VC-3 (aka Avid DNxHD) Encoding
    
    ffmpeg -i <input_file> -vcodec dnxhd -b <bitrate> -an output.mov
    
    Notes :
    - <bitrate> can take the following values : 36Mb, 120Mb, 185Mb ( please refer to the following table ).
    - Add the following option for interlaced modes : -flags +ildct
    - Add the following option for best quality mode ( very slow ! ) : -mbd rd
    
    Supported Resolutions :
    
    Project Format 	Resolution 	Frame Size 	Bits 	FPS 	<bitrate>
    1080i / 59.94 	DNxHD 220 	1920 x 1080 	8 	29.97 	185Mb
    1080i / 59.94 	DNxHD 145 	1920 x 1080 	8 	29.97 	120Mb
    1080i / 50 	DNxHD 185 	1920 x 1080 	8 	25 	185Mb
    1080i / 50 	DNxHD 120 	1920 x 1080 	8 	25 	120Mb
    1080p / 25 	DNxHD 185 	1920 x 1080 	8 	25 	185Mb
    1080p / 25 	DNxHD 120 	1920 x 1080 	8 	25 	120Mb
    1080p / 25 	DNxHD 36 	1920 x 1080 	8 	25 	36Mb
    1080p / 24 	DNxHD 175 	1920 x 1080 	8 	24 	185Mb
    1080p / 24 	DNxHD 115 	1920 x 1080 	8 	24 	120Mb
    1080p / 24 	DNxHD 36 	1920 x 1080 	8 	24 	36Mb
    1080p / 23.976 	DNxHD 175 	1920 x 1080 	8 	23.976 	185Mb
    1080p / 23.976 	DNxHD 115 	1920 x 1080 	8 	23.976 	120Mb
    1080p / 23.976 	DNxHD 36 	1920 x 1080 	8 	23.976 	36Mb
    1080p / 29.7 	DNxHD 45 	1920 x 1080 	8 	29.97 	36Mb
    
    
    
    
    FFV1 Encoding
    
    ffmpeg -i <input_file> -vcodec ffv1 -an output.mov
    
    
    
    H.264 I-frame only Highest Quality Encoding
    
    ffmpeg -i <input_file> -vcodec h264 -cqp 1 -intra -coder ac -an output.mp4
    
    
    
    H.264 Long GOP Encoding
    
    ffmpeg -i <input_file> -vcodec h264 -b <video_bitrate> -g <gop_size> -bf 2 -b_strategy 1 -flags +loop -coder 1 -subcmp 2 -cmp 2 -trellis 2 -me hex -acodec aac -ab <audio_bitrate> output.mp4
    
    
    
    MPEG-2 I-frame only Highest Quality Encoding
    
    ffmpeg -i <input_file> -vcodec mpeg2video -qscale 1 -qmin 1 -intra -an output.m2v
    
    
    
    MPEG-2 Long GOP Encoding
    
    ffmpeg -i <input_file> -vcodec mpeg2video -b <video_bitrate> -g <gop_size> -bf 2 -b_strategy 1 -acodec mp2 -ab <audio_bitrate> -f vob output.mpg
    
    
    
    D10 into QuickTime Wrapping
    
    ffmpeg -i <input_file> -vcodec copy -acodec pcm_s16le -vtag mx5p -vbsf imxdump output.mov
    
    Notes :
    - This feature needs a patched version of FFmpeg not available in the current SVN, please contact Baptiste Coudurier or Olivier Amato for more information.
    - Set -vtag to mx3p / mx4p / m5xp for D10 30/40/50 PAL or mx3n / mx4n / m5xn for D10 30/40/50 NTSC.
    - Input D10 image size must be 720x608 ( use -padtop 32 option during D10 encoding if the original image size is 720x576 ).
    - Final Cut Pro compliant.
    
    
    
    MPEG-2 Program Stream Muxing
    
    ffmpeg -genpts 1 -i ES_Video.m2v -i ES_Audio.mp2 -vcodec copy -acodec copy -f vob output.mpg
    
    
    
    MPEG-2 Program Stream Demuxing
    
    ffmpeg -i input.mpg -vcodec copy -f mpeg2video ES_Video.m2v -acodec copy -f mp2 ES_Audio.mp2
    
    Note : This also works for files containing multiple audio tracks :
    ffmpeg -i input.mpg -vcodec copy -f mpeg2video ES_Video.m2v -acodec copy -f mp2 ES_Audio1.mp2 -acodec copy -f mp2 ES_Audio2.mp2
    
    
    
    MPEG-2 Start Timecode
    
    ffmpeg -i <input_file> -timecode_frame_start <start_timecode> -vcodec mpeg2video -an output.m2v
    
    Note : Start timecode is set as number of frames. For instance, if you want to start at 18:12:36:15, you will have to set -timecode_frame_start to 1638915 ( for 25 fps content ).
    
    
    
    Audio Volume Modification
    
    ffmpeg -i <input_file> -vol <audio_volume> -acodec <audio_codec> <output_file>
    
    
    
    Input Stream Selection
    
    ffmpeg -i input.vob -map 0:2 -acodec aac -ab <audio_bitrate> -vn output.mp4
    
    Transcode audio stream #0:2.
    
    
    
    Sub-clip Creation
    
    ffmpeg -i <input_file> -ss <timecode> -t <timecode> -vcodec copy -acodec copy <output_file>
    
    
    
    Make a Video File from a Single Frame
    
    ffmpeg -loop_input -vframes <number_of_frames> -i <input_file> <output_file>
    
    
    
    Please submit new command lines to Olivier Amato
    http://www.itbroadcastanddigitalcinema.com/ffmpeg_howto.html#Generic_Syntax
    Quote Quote  
  3. Originally Posted by Soopafresh
    Lots of good stuff I haven't seen documented elsewhere. Scroll down to see it all:

    http://www.itbroadcastanddigitalcinema.com/ffmpeg_howto.html#Generic_Syntax
    Hi Soopafresh,

    Thanks! This are the most extensive descriptions I've seen so far. As you know FFmpeg info is scarce.

    Tried a few of the examples and was amazed MPEG-2 muxing worked. Up to now I considered FFmpeg unusable for muxing. Always had out of sync audio. It's simply the "1" after -copyts and the position where to put it, but you have to know it first.

    Also thanks to Baldrick for preserving this valuable information for the future.

    Chris.
    Quote Quote  
  4. Member Soopafresh's Avatar
    Join Date: Jan 2004
    Location: United States
    Search Comp PM
    Tried a few of the examples and was amazed MPEG-2 muxing worked. Up to now I considered FFmpeg unusable for muxing. Always had out of sync audio. It's simply the "1" after -copyts and the position where to put it, but you have to know it first.

    Me too. When I read the muxing syntax I thought - "that actually works?". Also found some ffmpeg scripts from

    http://eugenia.gnomefiles.org/2007/08/11/from-dvhdvavchd-to-ps3xbox360appletv/

    Thanks to Eugenia Loli-Queru. http://osnews.com/img/vegas/ffmpeg-templates.zip They cover some rarer formats (h264 encoding) that ffmpeg supports as well, although I found they work best with celtic_druid's 8000 series builds from 2007.
    Quote Quote  
  5. Hi Soopafresh,

    Originally Posted by Soopafresh
    Thanks to Eugenia Loli-Queru. http://osnews.com/img/vegas/ffmpeg-templates.zip They cover some rarer formats (h264 encoding) that ffmpeg supports as well, although I found they work best with celtic_druid's 8000 series builds from 2007.
    I attached a template adaption for Avanti from the IPHONE example. It's x264 in mp4 and it's 16:9.
    Please can you give me your opinion? I think I like "Eugenia Loli-Queru".

    Chris.

    avanti_iphone_templates.7z
    Quote Quote  
  6. Member
    Join Date: Jan 2004
    Location: Australia
    Search Comp PM
    Hmm, maybe the options are a bit out of date - the latest ffmpeg builds from http://ffdshow.faireal.net/mirror/ffmpeg/ have some different renamed options
    Refer
    http://forum.doom9.org/showthread.php?t=130587
    eg
    -acodec libmp3lame
    -vcodec libx264
    etc

    I can't find a complete list for the new builds, so... where to from here ?
    Quote Quote  
  7. Member
    Join Date: Dec 2004
    Location: Triptonia
    Search Comp PM
    Code:
    ffmpeg -formats
    Quote Quote  
  8. Member
    Join Date: Jan 2004
    Location: Australia
    Search Comp PM
    Originally Posted by 45tripp
    Code:
    ffmpeg -formats
    Yes, that showed the new versions replacement codes up under "codecs" alright (D=decode, E=encode ?) for the latest ffmpeg version from http://ffdshow.faireal.net/mirror/ffmpeg/

    Thanks 45tripp.

    Also, a prompter for upgraders, the newer versions of ffmpeg have also changed the bitrate setting terminology eg from "9400" to "9400k" ... and the newer "MP2" may possibly have some "playback choppiness" issue, try for yourself.


    C:\SOFTWARE\ffmpeg>ffmpeg -formats
    FFmpeg version SVN-r10464, Copyright (c) 2000-2007 Fabrice Bellard, et al.
    configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libamr-nb --enable-libamr-wb
    --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-l
    ibx264 --enable-libxvid --cpu=i686 --enable-memalign-hack --extra-ldflags=-static
    libavutil version: 49.5.0
    libavcodec version: 51.43.0
    libavformat version: 51.12.2
    built on Sep 10 2007 10:31:22, gcc: 4.2.1
    File formats:
    E 3g2 3gp2 format
    E 3gp 3gp format
    D 4xm 4X Technologies format
    D MTV MTV format
    DE RoQ Id RoQ format
    D aac ADTS AAC
    DE ac3 raw ac3
    E adts ADTS AAC
    DE aiff Audio IFF
    DE alaw pcm A law format
    DE amr 3gpp amr file format
    D apc CRYO APC format
    DE asf asf format
    E asf_stream asf format
    DE au SUN AU Format
    DE avi avi format
    D avs AVISynth
    D bethsoftvid Bethesda Softworks 'Daggerfall' VID format
    D c93 Interplay C93
    E crc crc testing format
    D daud D-Cinema audio format
    D dsicin Delphine Software International CIN format
    D dts raw dts
    DE dv DV video format
    E dvd MPEG2 PS format (DVD VOB)
    D dxa dxa
    D ea Electronic Arts Multimedia Format
    DE ffm ffm format
    D film_cpk Sega FILM/CPK format
    DE flac raw flac
    D flic FLI/FLC/FLX animation format
    DE flv flv format
    E framecrc framecrc testing format
    DE gif GIF Animation
    DE gxf GXF format
    DE h261 raw h261
    DE h263 raw h263
    DE h264 raw H264 video format
    D idcin Id CIN format
    DE image2 image2 sequence
    DE image2pipe piped image2 sequence
    D ingenient Ingenient MJPEG
    D ipmovie Interplay MVE format
    DE m4v raw MPEG4 video format
    DE matroska Matroska File Format
    DE mjpeg MJPEG video
    D mm American Laser Games MM format
    DE mmf mmf format
    E mov mov format
    D mov,mp4,m4a,3gp,3g2,mj2 QuickTime/MPEG4/Motion JPEG 2000 format
    E mp2 MPEG audio layer 2
    DE mp3 MPEG audio layer 3
    E mp4 mp4 format
    D mpc musepack
    DE mpeg MPEG1 System format
    E mpeg1video MPEG video
    E mpeg2video MPEG2 video
    DE mpegts MPEG2 transport stream format
    D mpegtsraw MPEG2 raw transport stream format
    D mpegvideo MPEG video
    E mpjpeg Mime multipart JPEG format
    DE mulaw pcm mu law format
    D mxf MXF format
    D nsv NullSoft Video format
    E null null video format
    DE nut nut format
    D nuv NuppelVideo format
    DE ogg Ogg format
    E psp psp mp4 format
    D psxstr Sony Playstation STR format
    DE rawvideo raw video format
    D redir Redirector format
    DE rm rm format
    E rtp RTP output format
    D rtsp RTSP input format
    DE s16be pcm signed 16 bit big endian format
    DE s16le pcm signed 16 bit little endian format
    DE s8 pcm signed 8 bit format
    D sdp SDP
    D shn raw shorten
    D smk Smacker Video
    D sol Sierra SOL Format
    E svcd MPEG2 PS format (VOB)
    DE swf Flash format
    D thp THP
    D tiertexseq Tiertex Limited SEQ format
    D tta true-audio
    D txd txd format
    DE u16be pcm unsigned 16 bit big endian format
    DE u16le pcm unsigned 16 bit little endian format
    DE u8 pcm unsigned 8 bit format
    D vc1 raw vc1
    E vcd MPEG1 System format (VCD)
    D vmd Sierra VMD format
    E vob MPEG2 PS format (VOB)
    DE voc Creative Voice File format
    DE wav wav format
    D wc3movie Wing Commander III movie format
    D wsaud Westwood Studios audio format
    D wsvqa Westwood Studios VQA format
    D wv WavPack
    DE yuv4mpegpipe YUV4MPEG pipe format

    Codecs:
    D V 4xm
    D V D 8bps
    D V VMware video
    D V D aasc
    EA ac3
    DEA adpcm_4xm
    DEA adpcm_adx
    DEA adpcm_ct
    DEA adpcm_ea
    DEA adpcm_ima_dk3
    DEA adpcm_ima_dk4
    DEA adpcm_ima_qt
    DEA adpcm_ima_smjpeg
    DEA adpcm_ima_wav
    DEA adpcm_ima_ws
    DEA adpcm_ms
    DEA adpcm_sbpro_2
    DEA adpcm_sbpro_3
    DEA adpcm_sbpro_4
    DEA adpcm_swf
    D A adpcm_thp
    DEA adpcm_xa
    DEA adpcm_yamaha
    D A alac
    DEV D asv1
    DEV D asv2
    D A atrac 3
    D V D avs
    D V bethsoftvid
    DEV bmp
    D V D c93
    D V D camstudio
    D V D camtasia
    D V D cavs
    D V D cinepak
    D V D cljr
    D A cook
    D V D cyuv
    D A dca
    D V D dnxhd
    D A dsicinaudio
    D V D dsicinvideo
    DES dvbsub
    DES dvdsub
    DEV D dvvideo
    D V dxa
    DEV D ffv1
    DEVSD ffvhuff
    DEA flac
    DEV D flashsv
    D V D flic
    DEVSD flv
    D V D fraps
    DEA g726
    DEV gif
    DEV D h261
    DEVSDT h263
    D VSD h263i
    EV h263p
    D V DT h264
    DEVSD huffyuv
    D V D idcinvideo
    D A imc
    D V D indeo2
    D V indeo3
    D A interplay_dpcm
    D V D interplayvideo
    DEV D jpegls
    D V kmvc
    D A liba52
    DEA libamr_nb
    DEA libamr_wb
    EA libfaac
    D A libfaad
    DEA libgsm
    DEA libgsm_ms
    EA libmp3lame
    EV libtheora
    EV libx264
    EV libxvid
    EV ljpeg
    D V D loco
    D A mace3
    D A mace6
    D V D mdec
    DEV D mjpeg
    D V D mjpegb
    D V D mmvideo
    DEA mp2
    D A mp3
    D A mp3adu
    D A mp3on4
    D A mpc sv7
    DEVSDT mpeg1video
    DEVSDT mpeg2video
    DEVSDT mpeg4
    D A mpeg4aac
    D VSDT mpegvideo
    DEVSD msmpeg4
    DEVSD msmpeg4v1
    DEVSD msmpeg4v2
    D V D msrle
    D V D msvideo1
    D V D mszh
    D V D nuv
    DEV pam
    DEV pbm
    DEA pcm_alaw
    DEA pcm_mulaw
    DEA pcm_s16be
    DEA pcm_s16le
    DEA pcm_s24be
    DEA pcm_s24daud
    DEA pcm_s24le
    DEA pcm_s32be
    DEA pcm_s32le
    DEA pcm_s8
    DEA pcm_u16be
    DEA pcm_u16le
    DEA pcm_u24be
    DEA pcm_u24le
    DEA pcm_u32be
    DEA pcm_u32le
    DEA pcm_u8
    DEA pcm_zork
    DEV pgm
    DEV pgmyuv
    DEV png
    DEV ppm
    D V ptx
    D A qdm2
    D V D qdraw
    D V D qpeg
    DEV D qtrle
    DEV rawvideo
    D A real_144
    D A real_288
    DEA roq_dpcm
    DEV D roqvideo
    D V D rpza
    DEV D rv10
    DEV D rv20
    DEV sgi
    D A shorten
    D A smackaud
    D V smackvid
    D V D smc
    DEV snow
    D A sol_dpcm
    DEA sonic
    EA sonicls
    D V D sp5x
    DEV D svq1
    D VSD svq3
    DEV targa
    D V theora
    D V D thp
    D V D tiertexseqvideo
    DEV tiff
    D V D truemotion1
    D V D truemotion2
    D A truespeech
    D A tta
    D V txd
    D V D ultimotion
    D V vc1
    D V D vcr1
    D A vmdaudio
    D V D vmdvideo
    DEA vorbis
    D V vp3
    D V D vp5
    D V D vp6
    D V D vp6f
    D V D vqavideo
    D A wavpack
    DEA wmav1
    DEA wmav2
    DEVSD wmv1
    DEVSD wmv2
    D V wmv3
    D V D wnv1
    D A ws_snd1
    D A xan_dpcm
    D V D xan_wc3
    D V D xl
    D S xsub
    DEV D zlib
    DEV zmbv

    Supported file protocols:
    file: http: pipe: rtp: tcp: udp:
    Frame size, frame rate abbreviations:
    ntsc pal qntsc qpal sntsc spal film ntsc-film sqcif qcif cif 4cif

    Note, the names of encoders and decoders do not always match, so there are
    several cases where the above table shows encoder only or decoder only entries
    even though both encoding and decoding are supported. For example, the h263
    decoder corresponds to the h263 and h263p encoders, for file formats it is even
    worse.
    Now, if only there was a way to list the abbreviations for presets, like "pal-dvd", in a commandline like this, which converts an extracted PAL HDTV interlaced 1080i video stream into a DVD-compatible PAL SD interlaced 576i video stream ready for DVD authoring...
    Code:
    "C:\SOFTWARE\ffmpeg\ffmpeg.exe" -y -i inputfile.mpv -target pal-dvd -ilme -ildct -flags +ildct+ilme -top 1 -sameq -maxrate 9400k -dc 10 -s 720x576 -aspect 16:9 -an outputfile.mpv
    Quote Quote  
  9. Member
    Join Date: Jan 2004
    Location: Australia
    Search Comp PM
    Quote Quote  
  10. Member
    Join Date: Jan 2004
    Location: Australia
    Search Comp PM
    Be careful. The ffmpeg user mailing list confirms what I subsequently found out by testing and examining the bitrate in a btrate viewer... ffmpeg produces s bitrate spikes in the resulting output file which go outside the DVD spec.

    Back to the ever-trusty HC !
    Quote Quote  
  11. Member
    Join Date: May 2010
    Location: New York
    Search PM
    could I impose on someone to help with what I'm thinking should be a simple command line?

    I just need this:
    ffmpeg.exe -i "q:\6 uncompressed.avi" -vcodec copy -acodec pcm_s16le -y "e:\dv conversions\6 uncompressed.mov"

    but I want it to do this to all files in the source directory and I want it to save them all with the same source filename to a new directory.

    Is there a simple way to do this?

    thanks in advance!!!
    Quote Quote  
  12. Member
    Join Date: Oct 2009
    Location: Australia
    Search Comp PM
    Sure you want .mov and not .mp4 ? You'll need to be sure beforehand that the .AVI content (video and audio encoding codecs used) are valid inside the destination container you choose otherwise it'll just break.

    have you considered a batch file ? if XP, something like this .BAT file in the source folder ...
    Code:
    @echo on
    REM SETLOCAL ENABLEDELAYEDEXPANSION
    
    set srcPATH=.\
    set dstPATH=e:\dv conversions\
    
    FOR %%A in ("%srcPATH%*.avi") DO ( 
    REM ffmpeg.exe -i "%%A" -vcodec copy -acodec pcm_s16le -y "%dstPATH%%%~nA.MP4"
    )
    pause
    I've REM'd out the code so you can just double-click on it to see what it would do ...
    Last edited by hydra3333; 17th May 2010 at 06:20. Reason: changed "%dstPATH%%%~dpnA.MP4" to "%dstPATH%%%~nA.MP4"
    Quote Quote  
  13. Member
    Join Date: Oct 2008
    Location: United States
    Search Comp PM
    Can ffmpeg mux in soft subtitles? I've tried but can't get the syntax right. Not really sure if it's possible or not...
    Quote Quote  
  14. I'm a MEGA Super Moderator Baldrick's Avatar
    Join Date: Aug 2000
    Location: Sweden
    Search Comp PM
    Originally Posted by thomasj View Post
    Can ffmpeg mux in soft subtitles? I've tried but can't get the syntax right. Not really sure if it's possible or not...
    To what container? mp4,mkv,avi,etc?
    Quote Quote  
  15. Member
    Join Date: Oct 2008
    Location: United States
    Search Comp PM
    Oops, MPEG2 or VOB.
    Quote Quote  
  16. Member
    Join Date: May 2010
    Location: New York
    Search PM
    thanks Hydra3333. Forgive my ignorance, but when I substitute my directories in your bathc file and run it, it shows shows me the lines. It doesn't seem to try to execute anything. And the reason I'm not going to mp4, is I'm trying to remux these as quicktime dv files instead of avi dv files. I just need the .mov extension. I don't want any recompression.


    can I do something like:
    ffmpeg.exe -i "q:\*.avi" -vcodec copy -acodec pcm_s16le -y "e:\dv conversions\*.mov" ??

    will that work. Or, what would be the way to do this? I just need to convert a lot of files and leave the room.

    thanks!
    Quote Quote  
  17. Member
    Join Date: Jul 2009
    Location: Spain
    Search Comp PM
    Originally Posted by charlesdem View Post
    Forgive my ignorance, but when I substitute my directories in your bathc file and run it, it shows shows me the lines. It doesn't seem to try to execute anything.
    Didn't you read what hydra3333 said:
    Originally Posted by hydra3333
    I've REM'd out the code so you can just double-click on it to see what it would do ...
    You want to delete the REM in front of the ffmpeg.exe line.
    Originally Posted by charlesdem
    can I do something like:
    ffmpeg.exe -i "q:\*.avi" -vcodec copy -acodec pcm_s16le -y "e:\dv conversions\*.mov" ??
    No, that won't work. You need to call ffmpeg on each file individually. That's what hydra3333's script does.
    Quote Quote  
  18. Member
    Join Date: May 2010
    Location: New York
    Search PM
    Thank you. I know it's annoying when it seems someone didn't read the answer. I'm just under deadline and wasn't sure how to execute it. It's been a long time since I've worked with any kind of code. Thank you for your help.
    Quote Quote  
  19. Member
    Join Date: May 2010
    Location: New York
    Search PM
    so, I replaced the call to the internet version to the one in the local directory, and it seems to work but it's giving me an error message about the output directory. It seems to be adding c:\ to the output directory, even though I assigned k:\<directory name> to the destination directory. Any ideas why? Here's what it says exactly:

    Stream #0.1: Audio: pcm_s16le, 32000 Hz, 2 channels, s16, 1024 kb/s
    Could not open 'k:\uncompressed .DV files\c:\Audio Projects\DV Capture\251 - Cli
    p 001.MP4'

    it should just say k:\uncompressed .DV files\251 - Clip 001.mp4

    thanks again
    Last edited by charlesdem; 16th May 2010 at 10:13.
    Quote Quote  
  20. Member
    Join Date: Oct 2009
    Location: Australia
    Search Comp PM
    call to the internet version ? what internet version ?

    copy'n'paste the script here exactly as you've edited it. Exactly - double-check it too. Can't diagnose what's happened without seeing what you've done with it 1st hand. For future reference, just about everyone will ask you this same thing in this situation.

    (Also, in that script, you need the trailing \ on the foldernames don't forget.)
    Last edited by hydra3333; 16th May 2010 at 11:34.
    Quote Quote  
  21. Member
    Join Date: May 2010
    Location: New York
    Search PM
    Sorry - here it is. Hope you're still online!
    thanks!

    @echo on
    SETLOCAL ENABLEDELAYEDEXPANSION

    set srcPATH=h:\
    set dstPATH=e:\dv conversions\

    FOR %%A in ("%srcPATH%*.avi") DO (
    ffmpeg.exe -i "%%A" -vcodec copy -acodec pcm_s16le -y "%dstPATH%%%~dpnA.mov"
    )
    pause
    Quote Quote  
  22. Member
    Join Date: Oct 2009
    Location: Australia
    Search Comp PM
    Hmm, sorry a bug on my part, I'm too old for this. To squash it,
    Code:
     "%dstPATH%%%~dpnA.mov"
    should instead be
    Code:
     "%dstPATH%%%~nA.mov"
    That leaves off the drive and path from the %%A in the substitution and only retains the name portion.

    Oops

    Hence your new script should be
    Code:
    @echo on
    SETLOCAL ENABLEDELAYEDEXPANSION
    
    set srcPATH=h:\
    set dstPATH=e:\dv conversions\
    
    FOR %%A in ("%srcPATH%*.avi") DO ( 
    ffmpeg.exe -i "%%A" -vcodec copy  -acodec pcm_s16le -y "%dstPATH%%%~nA.mov"
    )
    pause
    Now, the final thing you need to worry about is the "ffmpeg.exe" statement.
    Should it be something like "C:\SOFTWARE\ffmpeg.exe" or the bin folder underneath wherever you've placed the latest beta ffmpeg folder tree you extracted from the latest beta 32 bit static download at http://ffmpeg.arrozcru.org/autobuilds/ ?
    Quote Quote  
  23. Member
    Join Date: Jun 2010
    Location: Germany
    Search PM
    Hi,

    Sorry for asking a question on an old thread but i m hoping someone here might be able to help me.

    I have an MPEG2-TS. I want to convert it to a different bit rate. What would be the command for that. currently I use the following:

    ffmpeg -i <in file> -f mpegts -vcodec mpeg2video -qscale 1 -qmin 1 -acodec copy -intra output.ts

    the problem with this is that even though the input TS has random_access_indicator set in some packets, no packets in the output have random_access_indicator set to 1.
    Quote Quote  
  24. Member
    Join Date: Jun 2010
    Location: Germany
    Search PM
    Please let me know if there is something wrong in the command or some other option which i need to enable so that the output TS also has random_access_indicator set in the packets where it should be.

    I have also tried using -g 30 in place of -intra but this doesnt help with the random_access_indicator.
    Quote Quote  



Similar Threads