Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
  2. .\"
  3. .\" Standard preamble:
  4. .\" ========================================================================
  5. .de Sh \" Subsection heading
  6. .br
  7. .if t .Sp
  8. .ne 5
  9. .PP
  10. \fB\\$1\fR
  11. .PP
  12. ..
  13. .de Sp \" Vertical space (when we can't use .PP)
  14. .if t .sp .5v
  15. .if n .sp
  16. ..
  17. .de Vb \" Begin verbatim text
  18. .ft CW
  19. .nf
  20. .ne \\$1
  21. ..
  22. .de Ve \" End verbatim text
  23. .ft R
  24. .fi
  25. ..
  26. .\" Set up some character translations and predefined strings.  \*(-- will
  27. .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
  28. .\" double quote, and \*(R" will give a right double quote.  | will give a
  29. .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
  30. .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
  31. .\" expand to `' in nroff, nothing in troff, for use with C<>.
  32. .tr \(*W-|\(bv\*(Tr
  33. .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
  34. .ie n \{\
  35. .    ds -- \(*W-
  36. .    ds PI pi
  37. .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
  38. .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
  39. .    ds L" ""
  40. .    ds R" ""
  41. .    ds C` ""
  42. .    ds C' ""
  43. 'br\}
  44. .el\{\
  45. .    ds -- \|\(em\|
  46. .    ds PI \(*p
  47. .    ds L" ``
  48. .    ds R" ''
  49. 'br\}
  50. .\"
  51. .\" If the F register is turned on, we'll generate index entries on stderr for
  52. .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
  53. .\" entries marked with X<> in POD.  Of course, you'll have to process the
  54. .\" output yourself in some meaningful fashion.
  55. .if \nF \{\
  56. .    de IX
  57. .    tm Index:\\$1\t\\n%\t"\\$2"
  58. ..
  59. .    nr % 0
  60. .    rr F
  61. .\}
  62. .\"
  63. .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  64. .\" way too many mistakes in technical documents.
  65. .hy 0
  66. .if n .na
  67. .\"
  68. .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  69. .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
  70. .    \" fudge factors for nroff and troff
  71. .if n \{\
  72. .    ds #H 0
  73. .    ds #V .8m
  74. .    ds #F .3m
  75. .    ds #[ \f1
  76. .    ds #] \fP
  77. .\}
  78. .if t \{\
  79. .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
  80. .    ds #V .6m
  81. .    ds #F 0
  82. .    ds #[ \&
  83. .    ds #] \&
  84. .\}
  85. .    \" simple accents for nroff and troff
  86. .if n \{\
  87. .    ds ' \&
  88. .    ds ` \&
  89. .    ds ^ \&
  90. .    ds , \&
  91. .    ds ~ ~
  92. .    ds /
  93. .\}
  94. .if t \{\
  95. .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
  96. .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
  97. .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
  98. .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
  99. .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
  100. .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
  101. .\}
  102. .    \" troff and (daisy-wheel) nroff accents
  103. .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
  104. .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
  105. .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
  106. .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
  107. .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
  108. .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
  109. .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
  110. .ds ae a\h'-(\w'a'u*4/10)'e
  111. .ds Ae A\h'-(\w'A'u*4/10)'E
  112. .    \" corrections for vroff
  113. .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
  114. .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
  115. .    \" for low resolution devices (crt and lpr)
  116. .if \n(.H>23 .if \n(.V>19 \
  117. \{\
  118. .    ds : e
  119. .    ds 8 ss
  120. .    ds o a
  121. .    ds d- d\h'-1'\(ga
  122. .    ds D- D\h'-1'\(hy
  123. .    ds th \o'bp'
  124. .    ds Th \o'LP'
  125. .    ds ae ae
  126. .    ds Ae AE
  127. .\}
  128. .rm #[ #] #H #V #F C
  129. .\" ========================================================================
  130. .\"
  131. .IX Title "FFMPEG-BITSTREAM-FILTERS 1"
  132. .TH FFMPEG-BITSTREAM-FILTERS 1 "2013-12-14" " " " "
  133. .SH "NAME"
  134. ffmpeg\-bitstream\-filters \- FFmpeg bitstream filters
  135. .SH "DESCRIPTION"
  136. .IX Header "DESCRIPTION"
  137. This document describes the bitstream filters provided by the
  138. libavcodec library.
  139. .PP
  140. A bitstream filter operates on the encoded stream data, and performs
  141. bitstream level modifications without performing decoding.
  142. .SH "BITSTREAM FILTERS"
  143. .IX Header "BITSTREAM FILTERS"
  144. When you configure your FFmpeg build, all the supported bitstream
  145. filters are enabled by default. You can list all available ones using
  146. the configure option \f(CW\*(C`\-\-list\-bsfs\*(C'\fR.
  147. .PP
  148. You can disable all the bitstream filters using the configure option
  149. \&\f(CW\*(C`\-\-disable\-bsfs\*(C'\fR, and selectively enable any bitstream filter using
  150. the option \f(CW\*(C`\-\-enable\-bsf=BSF\*(C'\fR, or you can disable a particular
  151. bitstream filter using the option \f(CW\*(C`\-\-disable\-bsf=BSF\*(C'\fR.
  152. .PP
  153. The option \f(CW\*(C`\-bsfs\*(C'\fR of the ff* tools will display the list of
  154. all the supported bitstream filters included in your build.
  155. .PP
  156. Below is a description of the currently available bitstream filters.
  157. .Sh "aac_adtstoasc"
  158. .IX Subsection "aac_adtstoasc"
  159. Convert \s-1MPEG\-2/4\s0 \s-1AAC\s0 \s-1ADTS\s0 to \s-1MPEG\-4\s0 Audio Specific Configuration
  160. bitstream filter.
  161. .PP
  162. This filter creates an \s-1MPEG\-4\s0 AudioSpecificConfig from an \s-1MPEG\-2/4\s0
  163. \&\s-1ADTS\s0 header and removes the \s-1ADTS\s0 header.
  164. .PP
  165. This is required for example when copying an \s-1AAC\s0 stream from a raw
  166. \&\s-1ADTS\s0 \s-1AAC\s0 container to a \s-1FLV\s0 or a \s-1MOV/MP4\s0 file.
  167. .Sh "chomp"
  168. .IX Subsection "chomp"
  169. Remove zero padding at the end of a packet.
  170. .Sh "dump_extra"
  171. .IX Subsection "dump_extra"
  172. Add extradata to the beginning of the filtered packets.
  173. .PP
  174. The additional argument specifies which packets should be filtered.
  175. It accepts the values:
  176. .IP "\fBa\fR" 4
  177. .IX Item "a"
  178. add extradata to all key packets, but only if \fIlocal_header\fR is
  179. set in the \fBflags2\fR codec context field
  180. .IP "\fBk\fR" 4
  181. .IX Item "k"
  182. add extradata to all key packets
  183. .IP "\fBe\fR" 4
  184. .IX Item "e"
  185. add extradata to all packets
  186. .PP
  187. If not specified it is assumed \fBk\fR.
  188. .PP
  189. For example the following \fBffmpeg\fR command forces a global
  190. header (thus disabling individual packet headers) in the H.264 packets
  191. generated by the \f(CW\*(C`libx264\*(C'\fR encoder, but corrects them by adding
  192. the header stored in extradata to the key packets:
  193. .PP
  194. .Vb 1
  195. \&        ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
  196. .Ve
  197. .Sh "h264_mp4toannexb"
  198. .IX Subsection "h264_mp4toannexb"
  199. Convert an H.264 bitstream from length prefixed mode to start code
  200. prefixed mode (as defined in the Annex B of the ITU-T H.264
  201. specification).
  202. .PP
  203. This is required by some streaming formats, typically the \s-1MPEG\-2\s0
  204. transport stream format (\*(L"mpegts\*(R").
  205. .PP
  206. For example to remux an \s-1MP4\s0 file containing an H.264 stream to mpegts
  207. format with \fBffmpeg\fR, you can use the command:
  208. .PP
  209. .Vb 1
  210. \&        ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
  211. .Ve
  212. .Sh "imx_dump_header"
  213. .IX Subsection "imx_dump_header"
  214. .Sh "mjpeg2jpeg"
  215. .IX Subsection "mjpeg2jpeg"
  216. Convert \s-1MJPEG/AVI1\s0 packets to full \s-1JPEG/JFIF\s0 packets.
  217. .PP
  218. \&\s-1MJPEG\s0 is a video codec wherein each video frame is essentially a
  219. \&\s-1JPEG\s0 image. The individual frames can be extracted without loss,
  220. e.g. by
  221. .PP
  222. .Vb 1
  223. \&        ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg
  224. .Ve
  225. .PP
  226. Unfortunately, these chunks are incomplete \s-1JPEG\s0 images, because
  227. they lack the \s-1DHT\s0 segment required for decoding. Quoting from
  228. <\fBhttp://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml\fR>:
  229. .PP
  230. Avery Lee, writing in the rec.video.desktop newsgroup in 2001,
  231. commented that \*(L"\s-1MJPEG\s0, or at least the \s-1MJPEG\s0 in AVIs having the
  232. \&\s-1MJPG\s0 fourcc, is restricted \s-1JPEG\s0 with a fixed \*(-- and *omitted* \*(--
  233. Huffman table. The \s-1JPEG\s0 must be YCbCr colorspace, it must be 4:2:2,
  234. and it must use basic Huffman encoding, not arithmetic or
  235. progressive. . . . You can indeed extract the \s-1MJPEG\s0 frames and
  236. decode them with a regular \s-1JPEG\s0 decoder, but you have to prepend
  237. the \s-1DHT\s0 segment to them, or else the decoder won't have any idea
  238. how to decompress the data. The exact table necessary is given in
  239. the OpenDML spec.\*(R"
  240. .PP
  241. This bitstream filter patches the header of frames extracted from an \s-1MJPEG\s0
  242. stream (carrying the \s-1AVI1\s0 header \s-1ID\s0 and lacking a \s-1DHT\s0 segment) to
  243. produce fully qualified \s-1JPEG\s0 images.
  244. .PP
  245. .Vb 3
  246. \&        ffmpeg -i mjpeg-movie.avi -c:v copy -bsf:v mjpeg2jpeg frame_%d.jpg
  247. \&        exiftran -i -9 frame*.jpg
  248. \&        ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
  249. .Ve
  250. .Sh "mjpega_dump_header"
  251. .IX Subsection "mjpega_dump_header"
  252. .Sh "movsub"
  253. .IX Subsection "movsub"
  254. .Sh "mp3_header_compress"
  255. .IX Subsection "mp3_header_compress"
  256. .Sh "mp3_header_decompress"
  257. .IX Subsection "mp3_header_decompress"
  258. .Sh "noise"
  259. .IX Subsection "noise"
  260. .Sh "remove_extra"
  261. .IX Subsection "remove_extra"
  262. .SH "SEE ALSO"
  263. .IX Header "SEE ALSO"
  264. \&\fIffmpeg\fR\|(1), \fIffplay\fR\|(1), \fIffprobe\fR\|(1), \fIffserver\fR\|(1), \fIlibavcodec\fR\|(3)
  265. .SH "AUTHORS"
  266. .IX Header "AUTHORS"
  267. The FFmpeg developers.
  268. .PP
  269. For details about the authorship, see the Git history of the project
  270. (git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
  271. \&\fBgit log\fR in the FFmpeg source directory, or browsing the
  272. online repository at <\fBhttp://source.ffmpeg.org\fR>.
  273. .PP
  274. Maintainers for the specific components are listed in the file
  275. \&\fI\s-1MAINTAINERS\s0\fR in the source code tree.
  276.