Linux Video Stream Processing Tool - Examples
Keywords: DVD, digital video, DV, encoder, divx, DivX;-), lame, source, posix, avifile, opendivx, codec, linux, AC3, program stream, video, audio, transcode, decoder, stream, YV12

VCD/(S)VCD/DVD
encoding to MPEG (PAL) VCD (S)VCD DVD encoding to MPEG (NTSC) VCD (S)VCD DVD

encoding to MPEG (PAL)
- Notes: [...] denote import/processing options. if the aspect ratio changes after resizing the video frame, use "--export_asr code" to notify encoder. Possible aspect ratio codes are: 1=1:1, 2=4:3, 3=16:9, 4=2.21:1. muliplex add-on audio track with "-s filename". tcmplex supports 1 video and 2 audio tracks. enable sox re-sampling filter with "-J resample" (optional) instead of export modules resampling feature. for encoding with mjpeg-tools, the use of mplex is recommended. Use tcmplex option "-D" to adjust a possible AV mismatch. ### VCD (352x288) Video CD's have a restricted format for audio (MP2, 44100 Hz, 224 kBits/s, stereo) and video (MPEG-1, 352x288, 1152 kBits/s CBR) parameter. The preset profiles take care of the VCD2.0 specification. bbmpeg port to linux: audio downsampling reported BROKEN! Additionally use "-J resample".
  transcode [...] -V -y mpeg -F v,1 -E 44100 -b 224 -o test
  tcmplex -o test.mpg -i test.m1v -p test.mpa -m v
- Replace "-F v,1" by "-F v" if you prefer resizing handled by transcode. Example: reduce 720x576 to 352x288 with "-B 18,23,16". mjpeg-tools interface:
  transcode [...] -V -y mpeg2enc,mp2enc -F 1 -Z 352x288 -E 44100 -b 224 -o test
  mplex -f 1 -S 680 -o test.mpg test.m1v test.mpa
- Replace "-Z 352x288" by "-B" if you prefer the fast resizing mode by transcode. Example: reduce 720x576 to 352x288 with "-B 18,23,16". ### (S)VCD (480x576) Super Video CD's have a less restricted format for audio (MP2, 44100 Hz, 32-384 kBits/s, stereo) and video (MPEG-2, 480x576, up to 2600 kBits/s VBR) parameter. The preset profiles take care of the SVCD2.0 specification. bbmpeg port to linux: You may try to increase th bitrate for higher quality (X)SVCD. Most consumer DVD/(S)VCD player can cope with that. This is done with a profile file xsvcd.prof, which contains the following entries: `#(S)VCD profile for improved quality fixed_vbv_delay = 1 vbv_buffer_size = 230 cbr = 1 cbr_bitrate = 4000000.0 quant_value = 2 qscale_type = 0 vbr_mux = 0 video_buf_size = 230 use_comp_bitrate = 1` and will bump up the bitrate to 4000 kbps. The additional profile parameter are passed with the file name as a 3rd argument to "-F". audio downsampling reported BROKEN! Additionally use "-J resample".
  transcode [...] -V -y mpeg -F s,3,xsvcd.prof -E 44100 -b 128 -o test
  tcmplex -o test.mpg -i test.m2v -p test.mpa -m s
- mjpeg-tools interface:
  transcode [...] -V -y mpeg2enc,mp2enc -F 4 -Z 480x576 -E 44100 -b 128 -o test
  Replace "-Z 480x576" by transcode's fast resizing option "-B" for speed improvements. Example: reduce 720x576 to 480x576 with "-B 0,15,16".
  mplex -f 4 -S 680 -o test.mpg test.m2v test.mpa
- - ### DVD compliant format Possible frame parameter combination: 720x576, 704x576, 352x576 and 352x288. For a video frame size of 352x288, resizing can be delegated to the export module with "-F d,1", all other values require use of transcode's resize options. bbmpeg port to linux: MP2 audio:audio downsampling reported BROKEN! Additionally use "-J resample".
    transcode [...] -V -y mpeg -F d -E 44100 -b 224 -o test
    tcmplex -o test.vob -i test.m2v -p test.mpa -m d
  - MP3 audio: fixed in 0.6.0rc2
    transcode [...] -V -y mpeg,raw -F d -m test.mp3
    tcmplex -o test.vob -i test.m2v -p test.mp3 -m d
  - AC3 pass-through: In most cases, you will need to reduce the bitrate for encoding. This is done with a profile file dvd.prof, which contains the following entry: `#DVD profile with reduced bitrate max_bitrate=4000000.0` and will reduce the bitrate to 4000 kbps. The profile name is passed as a 3rd argument to "-F".
    transcode [...] -V -y mpeg,raw -F d,,dvd.prof -m test.ac3 -A -0x2000
    tcmplex -o test.vob -i test.m2v -p test.ac3 -m d
PCM audio: (not yet supported by tcmplex)

encoding to MPEG (NTSC)
- - For NTSC material, transcode currently generates film mode, i.e., 23.976 fps (progressive) for most NTSC DVD sources. For generating NTSC MPEG video, the final result should be played at 29.97 fps. Therefore the encoder must set the appropriate flags to force a decoder/player to generate a 3:2 pulldown (telecine) on demand. Transcode offers a long option "--pulldown" to encode to MPEG video with the appropriate flags set and switching the display rate from 23.976 to 29.97 fps. Notes: [...] denote import/processing options. if the aspect ratio changes after resizing the video frame, use "--export_asr code" to notify encoder. Possible aspect ratio codes are: 1=1:1, 2=4:3, 3=16:9, 4=2.21:1. 3:2 pulldown flags must be enabled with long option "--pulldown" muliplex add-on audio track with "-s filename". tcmplex supports 1 video and 2 audio tracks. enable sox re-sampling filter with "-J resample" (optional) instead of export modules resampling feature. for encoding with mjpeg-tools, the use of mplex is recommended. Use tcmplex option "-D" to adjust a possible AV mismatch. ### VCD (352x240) Video CD's have a restricted format for audio (MP2, 44100 Hz, 224 kBits/s, stereo) and video (MPEG-1, 352x240, 1152 kBits/s CBR) parameter. The preset profiles take care of the VCD2.0 specification. bbmpeg port to linux: audio downsampling reported BROKEN! Additionally use "-J resample". NTSC film encoded @ 23.976 -> VCD @ 23.976 film mode: NTSC video encoded @ 29.97 -> VCD @ 29.97 video mode:
    transcode [...] -V -y mpeg -F v,4 -E 44100 -b 224 -o test
    tcmplex -o test.mpg -i test.m1v -p test.mpa -m v
- - mjpeg-tools interface: NTSC video encoded @ 29.97 -> VCD @ 29.97 video mode: NTSC film encoded @ 23.976 -> VCD @ 23.976 film mode:
    transcode [...] -V -y mpeg2enc,mp2enc -F 1 -Z 352x240 -E 44100 -b 224 -o test
    mplex -f 1 -S 680 -o test.mpg test.m1v test.mpa
- - Replace "-Z 352x240" by transcode's fast resizing option "-B" for speed improvements. Example: reduce 720x480 to 352x240 with "-B 15,23,16". ### (S)VCD (480x480) Super Video CD's have a less restricted format for audio (MP2, 44100 Hz, 32-384 kBits/s, stereo) and video (MPEG-2, 480x480, up to 2600 kBits/s VBR) parameter. The preset profiles take care of the SVCD2.0 specification. The default profile bitrate is 2376 kbps. bbmpeg port to linux:audio downsampling reported BROKEN! Additionally use "-J resample". NTSC film encoded @ 23.976 -> (S)VCD @ 23.976 film mode: NTSC video encoded @ 29.97 -> (S)VCD @ 29.97 video mode:
    transcode [...] -V -y mpeg -F s,2 -E 44100 -b 128 -o test
  - DVD film encoded @ 23.976 --> (S)VCD @ 29.97 with 3:2 pulldown flags enabled: You may try to increase the bitrate for higher quality (X)VCD. Most consumer DVD/(S)VCD player can cope with that. This is done with a profile file xsvcd.prof, which contains the following entries: `#(S)VCD profile for improved quality fixed_vbv_delay = 1 vbv_buffer_size = 230 cbr = 1 cbr_bitrate = 4000000.0 quant_value = 2 qscale_type = 0 vbr_mux = 0 video_buf_size = 230 use_comp_bitrate = 1` and will bump up the bitrate to 4000 kbps. The additional profile parameter are passed with the file name as a 3rd argument to "-F". audio downsampling reported BROKEN! Additionally use "-J resample".
    transcode [...] -V -y mpeg -F s,2,xsvcd.prof --pulldown -E 44100 -b 128 -o test
  Multiplexing the files:
  tcmplex -o test.mpg -i test.m2v -p test.mpa -m s
- - mjpeg-tools interface: NTSC film encoded @ 23.976 -> (S)VCD @ 23.976 film mode: NTSC video encoded @ 29.97 -> (S)VCD @ 29.97 video mode:
    transcode [...] -V -y mpeg2enc,mp2enc -F 4 -Z 480x480 -E 44100 -b 128 -o test
    You may try to increase the bitrate for higher quality (X)VCD. Most consumer DVD/(S)VCD player can cope with that. You can pass more options to "mpeg2enc" as a 2nd argument to "-F". In this case you must use profile "-F 5".
    transcode [...] -V -y mpeg2enc,mp2enc -F 5,"-b 4000" -Z 480x480 -E 44100 -b 128 -o test
  Replace "-Z 480x480" by transcode's fast resizing option "-B" for speed improvements. Example: reduce 720x480 to 480x480 with "-B 0,15,16". Multiplexing the files:
  mplex -f 4 -S 680 -o test.mpg test.m2v test.mpa
  or for "-F 5" profile with increased bitrate
  mplex -f 5 -S 680 -o test.mpg test.m2v test.mpa
- - - See the mplex manpage for more options. ### DVD compliant format Possible frame parameter combination: 720x480, 704x480, 352x480 and 352x240. For a video frame size of 352x240, resizing can be delegated to the export module with "-F d,4", but this frame size is currently broken in the exncoder, all other values require use of transcode's resize options. The profile default bitrate is 9800 kbps. bbmpeg port to linux: NTSC film encoded @ 23.976 -> DVD @ 23.976 film mode: NTSC video encoded @ 29.97 -> DVD @ 29.97 video mode: MP2 audio:audio downsampling reported BROKEN! Additionally use "-J resample".
      transcode [...] -V -y mpeg -F d -E 44100 -b 128 -o test
      tcmplex -o test.vob -i test.m2v -p test.mpa -m d
    - MP3 audio:fixed in 0.6.0rc2
      transcode [...] -V -y mpeg,raw -F d -m test.mp3
      tcmplex -o test.vob -i test.m2v -p test.mp3 -m d
  - - PCM audio: (not yet supported by tcmplex) DVD film encoded @ 23.976 --> DVD @ 29.97 with 3:2 pulldown flags enabled: In most cases, you will also wish to reduce the bitrate for encoding. This is done with a profile file dvd.prof, which contains the following entry: `#DVD profile with reduced bitrate max_bitrate=4000000.0` and will reduce the bitrate to 4000 kbps. The profile name is passed as a 3rd argument to "-F". AC3 pass-through:
      transcode [...] -V -y mpeg,raw -F d,,dvd.prof --pulldown -m test.ac3 -A -0x2000

Last modified: Tue Jun 18 12:57:25 CEST 2002