1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import lxml.html
from lxml.html import fromstring


code   = """<a name="Audio-Encoders"></a>
<h1 class="chapter"><a href="ffmpeg.html#toc-Audio-Encoders">14. Audio Encoders</a></h1>

<p>A description of some of the currently available audio encoders
follows.
</p>
<a name="ac3-and-ac3_005ffixed"></a>
<h2 class="section"><a href="ffmpeg.html#toc-ac3-and-ac3_005ffixed">14.1 ac3 and ac3_fixed</a></h2>

<p>AC-3 audio encoders.
</p>
<p>These encoders implement part of ATSC A/52:2010 and ETSI TS 102 366, as well as
the undocumented RealAudio 3 (a.k.a. dnet).
</p>
<p>The <var>ac3</var> encoder uses floating-point math, while the <var>ac3_fixed</var>
encoder only uses fixed-point integer math. This does not mean that one is
always faster, just that one or the other may be better suited to a
particular system. The floating-point encoder will generally produce better
quality audio for a given bitrate. The <var>ac3_fixed</var> encoder is not the
default codec for any of the output formats, so it must be specified explicitly
using the option <code>-acodec ac3_fixed</code> in order to use it.
</p>
<a name="AC_002d3-Metadata"></a>
<h3 class="subsection"><a href="ffmpeg.html#toc-AC_002d3-Metadata">14.1.1 AC-3 Metadata</a></h3>

<p>The AC-3 metadata options are used to set parameters that describe the audio,
but in most cases do not affect the audio encoding itself. Some of the options
do directly affect or influence the decoding and playback of the resulting
bitstream, while others are just for informational purposes. A few of the
options will add bits to the output stream that could otherwise be used for
audio data, and will thus affect the quality of the output. Those will be
indicated accordingly with a note in the option list below.
</p>
<p>These parameters are described in detail in several publicly-available
documents.
</p><ul>
<li> <a href="http://www.atsc.org/cms/standards/a_52-2010.pdf">A/52:2010 - Digital Audio Compression (AC-3) (E-AC-3) Standard</a>
</li><li> <a href="http://www.atsc.org/cms/standards/a_54a_with_corr_1.pdf">A/54 - Guide to the Use of the ATSC Digital Television Standard</a>
</li><li> <a href="http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf">Dolby Metadata Guide</a>
</li><li> <a href="http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf">Dolby Digital Professional Encoding Guidelines</a>
</li></ul>

<a name="Metadata-Control-Options"></a>
<h4 class="subsubsection"><a href="ffmpeg.html#toc-Metadata-Control-Options">14.1.1.1 Metadata Control Options</a></h4>

<dl compact="compact">
<dt> &lsquo;<samp>-per_frame_metadata <var>boolean</var></samp>&rsquo;</dt>
<dd><p>Allow Per-Frame Metadata. Specifies if the encoder should check for changing
metadata for each frame.
</p><dl compact="compact">
<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
<dd><p>The metadata values set at initialization will be used for every frame in the
stream. (default)
</p></dd>
<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
<dd><p>Metadata values can be changed before encoding each frame.
</p></dd>
</dl>

</dd>
</dl>

<a name="Downmix-Levels"></a>
<h4 class="subsubsection"><a href="ffmpeg.html#toc-Downmix-Levels">14.1.1.2 Downmix Levels</a></h4>

<dl compact="compact">
<dt> &lsquo;<samp>-center_mixlev <var>level</var></samp>&rsquo;</dt>
<dd><p>Center Mix Level. The amount of gain the decoder should apply to the center
channel when downmixing to stereo. This field will only be written to the
bitstream if a center channel is present. The value is specified as a scale
factor. There are 3 valid values:
</p><dl compact="compact">
<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
<dd><p>Apply -3dB gain
</p></dd>
<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
<dd><p>Apply -4.5dB gain (default)
</p></dd>
<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
<dd><p>Apply -6dB gain
</p></dd>
</dl>

</dd>
<dt> &lsquo;<samp>-surround_mixlev <var>level</var></samp>&rsquo;</dt>
<dd><p>Surround Mix Level. The amount of gain the decoder should apply to the surround
channel(s) when downmixing to stereo. This field will only be written to the
bitstream if one or more surround channels are present. The value is specified
as a scale factor.  There are 3 valid values:
</p><dl compact="compact">
<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
<dd><p>Apply -3dB gain
</p></dd>
<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
<dd><p>Apply -6dB gain (default)
</p></dd>
<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
<dd><p>Silence Surround Channel(s)
</p></dd>
</dl>

</dd>
</dl>"""

html = fromstring(code)
result = html.xpath("/*/h2/following-sibling::*//text()")
print result


result expected:
<p>AC-3 audio encoders.
</p>
<p>These encoders implement part of ATSC A/52:2010 and ETSI TS 102 366, as well as
the undocumented RealAudio 3 (a.k.a. dnet).
</p>
<p>The <var>ac3</var> encoder uses floating-point math, while the <var>ac3_fixed</var>
encoder only uses fixed-point integer math. This does not mean that one is
always faster, just that one or the other may be better suited to a
particular system. The floating-point encoder will generally produce better
quality audio for a given bitrate. The <var>ac3_fixed</var> encoder is not the
default codec for any of the output formats, so it must be specified explicitly
using the option <code>-acodec ac3_fixed</code> in order to use it.
</p>

This paste never expires. View raw. Pasted through import.