Академический Документы
Профессиональный Документы
Культура Документы
Quick Start
Guide to FFmpeg
Learn to Use the Open Source
Multimedia-Processing Tool
like a Pro
—
V. Subhash
Quick Start Guide to
FFmpeg
Learn to Use the Open Source
Multimedia-Processing
Tool like a Pro
V. Subhash
Quick Start Guide to FFmpeg: Learn to Use the Open Source
Multimedia-Processing Tool like a Pro
V. Subhash
Chennai, Tamil Nadu, India
Acknowledgments����������������������������������������������������������������������������xvii
Introduction���������������������������������������������������������������������������������������xix
v
Table of Contents
vi
Table of Contents
vii
Table of Contents
Remove Logo����������������������������������������������������������������������������������������������������103
Fade into Another Video (And in Audio Too)�������������������������������������������������������105
Crop a Video������������������������������������������������������������������������������������������������������107
Blur or Sharpen a Video������������������������������������������������������������������������������������109
Blur a Portion of a Video�����������������������������������������������������������������������������������110
Draw Text����������������������������������������������������������������������������������������������������������112
Draw a Box��������������������������������������������������������������������������������������������������������113
Speed Up a Video����������������������������������������������������������������������������������������������115
Slow Down a Video�������������������������������������������������������������������������������������������116
Summary����������������������������������������������������������������������������������������������������������117
viii
Table of Contents
ix
Table of Contents
x
Table of Contents
Index�������������������������������������������������������������������������������������������������271
xi
About the Author
V. Subhash is an invisible Indian writer,
programmer, and illustrator. In 2020, he
wrote one of the biggest jokebooks of all
time and then ended up with over two dozen
mostly nonfiction books including Linux
Command-Line Tips & Tricks, CommonMark
Ready Reference, PC Hardware Explained,
Cool Electronic Projects, and How To Install
Solar. He wrote, illustrated, designed, and
produced all of his books using only open source software. Subhash has
programmed in more than a dozen languages (as varied as assembly
and Java); published software for desktop (NetCheck), mobile (Subhash
Browser & RSS Reader), and the Web (TweetsToRSS); and designed several
websites. As of 2022, he is working on a portable JavaScript-free CMS using
plain-jane PHP and SQLite. Subhash also occasionally writes for the Open
Source For You magazine and CodeProject.com.
xiii
About the Technical Reviewer
Gyan Doshi has been with the FFmpeg project as a developer and
maintainer since 2018. During this time, he has focused on FFmpeg
filters, formats, and command-line tools. From his experience in video
postproduction stages such as editing and motion graphics, Gyan has
learned how FFmpeg can be used in multimedia workflows as a valuable
addition or as a substitute for expensive tools. Aside from being engaged as
a multimedia/FFmpeg consultant, Gyan also troubleshoots FFmpeg issues
on online forums such as Stack Exchange and Reddit.
Gyan builds the official Windows binary packages of FFmpeg (ffmpeg,
ffprobe, and ffplay) and other tools (ffescape, ffeval, graph2dot, etc.)
and offers them for download from his website at www.gyan.dev.
xv
Acknowledgments
The author would like to thank:
xvii
Introduction
FFmpeg is a free and open source program for editing audio and video files
from the command line. You may have already known FFmpeg as a nifty
program that can do simple conversions such as:
FFmpeg is much more capable than this, but it is this intuitive interface
and support for a wide variety of formats that has won it millions of users.
The FFmpeg project was originally started by a French programmer
named Fabrice Bellard in the year 2000. It is now being developed by a
large team of open source software developers spread around the world.
This book can serve as an easy FFmpeg tutorial, hack collection, and a
ready reference. However, it is not possible for one book to cover everything
that FFmpeg can do. FFmpeg has a very huge online documentation with
which you may have to craft your commands. While this book may seem
more than enough for most users, the documentation will open up vastly
more possibilities. DO NOT avoid going through the documentation.
Before you go further into the book, you should be aware that the
FFmpeg project creates two types of software:
xix
Introduction
In this book, we will ignore the libav libraries and instead focus on the
ffmpeg command-line program.
xx
Introduction
• www.vsubhash.in/ffmpeg-book.html
xxi
CHAPTER 1
Installing FFmpeg
In the Introduction, I mentioned that FFmpeg was an “end-user program.”
It is actually three command-line end-user programs, or executables:
1. ffprobe
2. ffplay
3. ffmpeg
The executables for these programs are available for Linux, Mac,
Windows, and other operating systems (OSs). When you go to the FFmpeg
website (www.ffmpeg.org), you will have two download options:
If you are unfamiliar with building executables from source code (as
are most people), you should choose the first option.
https://ffmpeg.org/download.html
© V. Subhash 2023 1
V. Subhash, Quick Start Guide to FFmpeg, https://doi.org/10.1007/978-1-4842-8701-9_1
Chapter 1 Installing FFmpeg
2
Chapter 1 Installing FFmpeg
Figure 1-2. There may be more than one “build” option for the
downloads
Figure 1-3. The downloaded archive file contains three EXE files.
Copy them to a folder specified in your PATH environment variable
Copy the EXE files to some folder that is already included in your
operating system’s PATH environment variable. If you copy them to a new
folder, then add the folder’s full location to the PATH variable.
If you do not do the above, you will need to type the full path of the
executable in your commands in the Command Prompt window.
3
Chapter 1 Installing FFmpeg
Let us assume that you have extracted the EXE files to the folder C:\
MyInstalls\ffmpeg\bin. Launch the Command Prompt window with
Administrator privileges. Then, permanently suffix this folder’s location to
the PATH environment variable with this command.
ffmpeg -version
If you do not modify the environment variable, then you will have to
type the full path whenever you want to use the program.
C:\MyInstalls\ffmpeg\bin\ffmpeg -version
@ Causes error
FFMPEG -VERSION
@ Causes no error
FFMPEG -version
ffmpeg -version
4
Chapter 1 Installing FFmpeg
You should avoid writing anything after the backslash or the caret.
Invisible trailing space(s) can also make a command to fail. (This happens
often with copy-pasted commands.)
5
Chapter 1 Installing FFmpeg
https://trac.ffmpeg.org/wiki/CompilationGuide
configure --help
6
Chapter 1 Installing FFmpeg
In your Linux package manager app, try to search and install (dev-
suffixed) developmental packages with similar names as the external
libraries. You may not be able to install developmental packages for all
of the libraries. But, for whatever libraries that you can install or have
them already installed, add relevant -enable options to the configure
compilation step. Here are a few:
...
--enable-chromaprint --enable-frei0r \
--enable-libbluray --enable-libbs2b --enable-libcdio \
--enable-libflite --enable-libfontconfig \
7
Chapter 1 Installing FFmpeg
--enable-libfreetype --enable-libfribidi \
--enable-libmp3lame --enable-libsmbclient \
--enable-libv4l2 --enable-libvidstab \
...
Run the FFmpeg build statement with these changes, and eventually
all three binary executable files will be created in your $HOME/bin
directory. Then, secure the copy of the documentation from the ffmpeg_
build directory so that you can read it whenever it is required.
If you have an old OS where the latest FFmpeg executable does not
run or cannot be compiled, go to https://johnvansickle.com/ffmpeg/
and download pre-built statically linked executables (not including
ffplay). On my old Ubuntu 10 Fiendish Frankenstein installation, I could
not run the latest FFmpeg pre-built executable nor build the source, but
these statically linked executables worked. (Even the C library is statically
linked.) That is how I was able to finish the 2020 version of this book in
the old OS.
8
Chapter 1 Installing FFmpeg
https://trac.ffmpeg.org/wiki/CompilationGuide/macOS
S
ummary
Although originally designed as a Linux program, FFmpeg is also available
for Windows and Mac operating systems. In this chapter, you learned how
to obtain pre-built FFmpeg executables specific to your OS from the official
FFmpeg site. You also learned how to build your own customized FFmpeg
executables from source.
In the next chapter, you will learn how to start using the executables.
9
CHAPTER 2
Some command examples in this book will have the suffixes 2>
/dev/null or > /dev/null. Such recourses were necessary to prevent
information clutter.
© V. Subhash 2023 11
V. Subhash, Quick Start Guide to FFmpeg, https://doi.org/10.1007/978-1-4842-8701-9_2
Chapter 2 Starting with FFmpeg
ffprobe
If you want to find out useful information about an audio or video file, you
need to use ffmpeg with the -i option. With ffprobe, you do not need
the option.
ffmpeg -i tada.wav
ffprobe tada.wav
ffprobe can reveal much more information than this if you use
the -show_streams option. You can filter the output of this command for
use in your shell scripts. In a later chapter, you will find a sample output of
this command.
12
Chapter 2 Starting with FFmpeg
ffplay
If you want to play a video file directly from the command line, just type
ffplay and the file name. ffplay is a tiny media player. It does not have
a context menu system or other interface. It responds to some keys and
mouse clicks but does nothing more.
ffplay solar.mp4
13
Chapter 2 Starting with FFmpeg
ffmpeg
The executables ffprobe, ffplay, and ffmpeg have several common
command-line options (arguments, switches, or parameters). You can list
most of them with the -h option.
ffmpeg -h
ffmpeg -h long
ffmpeg -h full > ffmpeg-help-full.txt
ffmpeg -formats
ffmpeg -encoders
ffmpeg -decoders
ffmpeg -codecs
ffmpeg -filters
ffmpeg -h demuxer=mp3
ffmpeg -h encoder=libmp3lame
ffmpeg -h filter=drawtext
14
Chapter 2 Starting with FFmpeg
Summary
In this chapter, you gained an introduction to the three FFmpeg
executables. Before venturing into what FFmpeg can do for you, you need
to learn a few things about multimedia formats and codecs. The next
chapter will help you with that.
15
CHAPTER 3
Containers
Multimedia files such as MP4s or MP3s are just containers – containers
for some audio and/or video content. An MP4 file is a container for some
video content written using the H.264 codec and some audio content
written using the AAC codec. It need not be like that for all MP4 files. Some
MP4 files may have their video content written using the Xvid codec and
the audio content written using the MP3 codec. Similarly, AVI, MOV WMV,
and 3GP are popular containers for audio/video content. Codecs can differ
from file to file even if their extensions are the same. A multimedia file may
have the wrong extension because of some human error. You can expect all
sorts of combinations in the wild.
When the codecs are not what is usually expected in a container, you
may encounter annoying format errors in playback devices. Sometimes,
you may be able to fix the error by simply renaming the file with the correct
© V. Subhash 2023 17
V. Subhash, Quick Start Guide to FFmpeg, https://doi.org/10.1007/978-1-4842-8701-9_3
Chapter 3 Formats and Codecs
extension. At other times, you will have to re-encode the file using codecs
supported by the device. So, what does it mean when a device says it only
supports certain “codecs”?
18
Chapter 3 Formats and Codecs
ffmpeg -i uncompressed-stereo.wav \
-c:a libmp3lame -b:a 128k -ac 2 -ar 44100 \
compressed.mp3
☞ You will learn more about these settings in later chapters, but
for now just be aware that they are often required.
19
Chapter 3 Formats and Codecs
For example, to read and write to the MP4 format, an MP4 demuxer
and an MP4 muxer are required. FFmpeg automatically takes care of
muxers and demuxers so that you do not have to bother with them.
However, there may come situations when you do have to explicitly
address them.
20
Chapter 3 Formats and Codecs
Summary
In this chapter, you learned some theoretical concepts about multimedia
formats, containers, and codecs. In the next chapter, we will delve deeper
into the container and learn how to refer to its constituents from the
command line using index numbers.
21
CHAPTER 4
Media Containers
and FFmpeg
Numbering
In the previous chapter, you learned that a multimedia file is actually a
container. On the inside, it encloses multimedia streams and metadata. In
this chapter, you will learn what streams and metadata are and how you
can access them from the command line. The sections in this chapter are
arranged for easy access and completeness. It may not be possible for you
to understand all of it on your first read. Return to this chapter a few times
to get a full understanding.
Containers
A container can have several streams. A stream could be audio, video,
subtitles, or a file attachment.
In an MP4 video file or container, you will usually find a video stream
and an audio stream. In an MP3 file, you will find an audio stream and
maybe some IDv3 tags (such as title, album, and artist) as metadata.
If you have one of those rare multi-angle DVDs, then each camera
angle will be represented by a separate video stream. Multi-language
videos will have an audio stream for each language. DVD subtitles for
© V. Subhash 2023 23
V. Subhash, Quick Start Guide to FFmpeg, https://doi.org/10.1007/978-1-4842-8701-9_4
Chapter 4 Media Containers and FFmpeg Numbering
Container Internals
Logically, the internals of a multimedia file look like this. A container
needs to have at least one stream. Everything else is optional. It is all
right for a video file to not have album art, subtitles, custom fonts, or tags
(global metadata), but one video stream and one audio stream are usually
expected.
24
Chapter 4 Media Containers and FFmpeg Numbering
From this logical representation, you will note that a multimedia file
container may have some global metadata and that each stream in the
container can have stream-specific metadata too.
You can use ffprobe to display these details for any multimedia file.
In this ffprobe output, the global metadata for the MP3 file shows ID3
tags such as title, album, and artist. It also includes a “comment” metadata
that I added after I bought the music. The metadata for the audio stream
shows that it was encoded using the LAME encoder by the music vendor.
The album art is shown as a video stream but it has only one frame. More
importantly, you should note that FFmpeg refers to the input files and
streams using index numbers starting from 0 (zero), instead of 1 (one).
Here is another example; this one is for a video file.
25
Chapter 4 Media Containers and FFmpeg Numbering
26
Chapter 4 Media Containers and FFmpeg Numbering
27
Chapter 4 Media Containers and FFmpeg Numbering
☞ ffmpeg can also read from streams and write to them. The
streams can be piped from/to another command and also transported
over a network protocol. For more information, read the official
documentation on protocols.
Figure 4-4. The output video is the input video with the overlaid
input image
The two input files were specified using the -i option. An MP4 video
file is input file #0 and a PNG image file is input file #1. The output file, as
is always, has been specified last.
28
Chapter 4 Media Containers and FFmpeg Numbering
Figure 4-5. The output of the command shows the index numbers
used for the input files and streams
The output of the command shows that the first stream in the first
input file is a video stream and is numbered #0:0. The second stream in
that file is an audio stream and is numbered #0:1. The first stream in the
second input file (the PNG image file) is considered as a video stream even
though it has only one (image) frame and is identified as #1:0.
29
Chapter 4 Media Containers and FFmpeg Numbering
You can refer to streams by their type. In the previous command, the
streams were as follows:
For this to become clear, spend some time studying the screenshot in
Figure 4-5.
Suppose that a multi-language DVD video file had one video stream
and two audio language streams. The streams can be referred as follows:
As you may have guessed, the stream-type identifier for video is v and
a for audio. There are others as given in Table 4-1.
30
Chapter 4 Media Containers and FFmpeg Numbering
Audio a
Video v
Video (not images) V
Subtitles s
File attachments t
Data d
After displaying the information about the input files and streams,
ffmpeg will list how the input streams will be processed and mapped to
intermediate and final streams. Then, it will list the final output files and
their streams. In a bash terminal, you can press the key combination Ctrl+S
if you wish to pause and study this information. Otherwise, all of this
information will quickly flash past your terminal as ffmpeg will then post a
huge log of informational, warning, and error messages as it performs the
actual processing of the input data.
Maps
With multiple input files, FFmpeg will use an internal logic to choose
which input streams will end up in the output file. To override that, you
can use the -map option. Maps enable you to specify your own selection
and order of streams for the output file. You can specify stream mapping in
several ways:
-map InputFileIndex
all streams in file with specified index
CRONICA TRIPERTITA
1. Ista tripertita, &c. These seven lines must be regarded as a
metrical preface to the Chronicle which follows. In the Hatton MS.
these lines with their marginal note are placed before the prose of
the preceding page (which is given in a somewhat different form)
and entitled ‘Prologus.’
Prima Pars
1. Take the first letter of ‘mundus’ and add to it C three times
repeated and six periods of five years, plus ten times five and seven.
The date thus indicated is MCCC + 30 + 57, i.e. 1387. For a similar
mode of expression cp. Richard of Maidstone’s poem on the
Reconciliation of Richard II (Rolls Series, 14. 1),
Secunda Pars
There is an interval of nearly ten years between the first and the
second part of the Chronicle. Our author proceeds to the events of
1397. He assumes that the king carried out a long-meditated plan of
vengeance, cp. ll. 23 ff., but this was of course an after-thought by
way of accounting for what happened.
15. A pardon was granted to all three in the Parliament of 1387-
88, ‘par estatut’ (see Rot. Parl. iii. 350), and a special charter of
pardon was granted to the earl of Arundel at Windsor, April 30, 1394
(Rot. Parl. iii. 351; cp. Ann. Ric. II, p. 211). See below, ll. 259 f.,
where the charters of pardon are said to have been procured by
archbishop Arundel who was then Chancellor. It seems to be implied
that the other two had similar charters, but nothing is said of this in
the Rolls of Parliament; cp. Eulog. Hist. iii. 374.
56. Cp. Ann. Ric. II, p. 202 (Rolls Series, 28. 3) ‘iurans suo solito
iuramento, per sanctum Iohannem Baptistam, quod nihil mali
pateretur in corpore, si se pacifice reddere voluisset.’
69 f. In the Annales Ricardi II it is definitely stated that Warwick
came to the king’s banquet and was arrested after it (p. 202).
According to Gower’s account there was no banquet at all, and
Gloucester was arrested before Warwick; and this agrees with the
accounts given in the Chronique de la Traïson, p. 9, and by
Froissart, vol. xvi. p. 73 (ed. Lettenhove).
85 ff. From this account we should gather that the king officially
announced the death of the duke of Gloucester to parliament before
it had occurred; but this was not so. Parliament met on Sept. 17, and
on Sept. 21 a writ was sent in the king’s name to Calais, ordering the
earl of Nottingham to produce his prisoner. This was replied to,
under date Sept. 24, with the announcement that he was dead (Rot.
Parl. iii. 378). It is certain, however, that a report of the duke of
Gloucester’s death was circulated and generally believed in the
month of August, and equally certain that this was done with the
connivance of the king, who probably wished to try what effect the
news would produce upon the public mind. Sir William Rickhill, the
justice who was sent over to extract a confession from the duke of
Gloucester, received on Sept. 5 a commission from the king to
proceed to Calais, no purpose stated, the date of the commission
being Aug. 17. On arrival he was presented by the earl of
Nottingham with another commission from the king, also with date
Aug. 17, directing him to examine the duke of Gloucester. He
expressed surprise, saying that the duke was dead and that his
death had been ‘notified’ to the people both at Calais and in
England. On the next day he saw the duke and received his so-
called confession (Rot. Parl. iii. 431). When this confession was
communicated to parliament, the date of it was suppressed, and
things were so arranged as to favour the opinion that the interview
with Rickhill took place between the 17th and 25th of August, the
latter being the accepted date of Gloucester’s death; cp. the article
by Mr. James Tait in the Dict. of National Biography, vol. lvi. pp. 157
f.
It is probable enough that the duke of Gloucester was still living
when parliament met, as Gower seems to imply. Unfortunately John
Halle, who confessed that he was present at the murder of the duke
(Rot. Parl. iii. 453), gave no precise date. The statement of Gower
that the king waited until he had secured his condemnation, may
mean only that he satisfied himself of the temper of Parliament
before taking the final and irrevocable step.
101 ff. The body seems first to have been laid in the Priory of
Bermondsey: then it was buried by Richard’s command in
Westminster Abbey, but apart from the royal burial-place. Afterwards
the body was transferred by Henry IV to the place chosen by
Gloucester himself, between the tomb of Edward the Confessor and
that of Edward III (Adam of Usk, p. 39).
121 f. For the insults levelled against the earl of Arundel see Ann.
Ric. II, p. 215, Adam of Usk, p. 13.
With regard to the events of this parliament generally, it is worth
while here to observe that Adam of Usk must certainly be regarded
as a first-hand authority and his account as a contemporary one. It
has usually been assumed that, though he says himself that he was
present at the parliament (‘In quo parliemento omni die presensium
compilator interfuit’), he actually borrowed his account of it from the
Monk of Evesham. This assumption rests entirely on the statement
of the editor of Adam of Usk’s Chronicle, that he must have written
later than 1415, a statement which is repeated without question by
Potthast, Gross, and others. It may be observed, however, that the
evidence adduced for this late date is absolutely worthless. It is
alleged first that Adam of Usk near the beginning of his Chronicle
alludes to the Lollard rising in Henry V’s reign, whereas what he
actually says is that the Lollards planned an attack on Convocation,
but were deterred by the resolute measures of the archbishop of
Canterbury, at the time of the second parliament of Henry IV, that is
the year 1401, when Convocation was engaged in an endeavour to
suppress the Lollards and the archbishop procured the execution of
William Sawtree; secondly we are told that the chronicler refers (p.
55) to the death of the dauphin Louis, which happened in 1415,
whereas actually his reference is obviously to the death of the
dauphin Charles, which took place at the beginning of the year 1402.
Mr. James Tait in the Dict. of National Biography, vol. xlviii. p. 157,
has already indicated that an earlier date than 1415 is necessary, by
his reference to p. 21 of the Chronicle, where the chronicler speaks
of Edmund earl of March as a boy not yet arrived at puberty, which
points to a date not later than 1405. It seems probable that the Monk
of Evesham had before him Adam of Usk’s journal of the parliament
of 1397, to which he made some slight additions from other sources,
introducing into his account a political colour rather more favourable
to Richard II. The close correspondence between them is confined to
the proceedings of this parliament at Westminster. It may be added
that the account given by Adam of Usk is full of graphic details which
suggest an eye-witness.
129. The pardon pleaded by the earl of Arundel had already been
revoked by parliament, therefore the plea was not accepted. From
the attempts made by the king to recover Arundel’s charter of
pardon, even after his execution (Rot. Claus. 21 Ric. II. pt 2, m. 18
d.), we may perhaps gather that some scruples were felt about the
revocation of it.
135 ff. Cp. Annales Ric. II, pp. 216 f.
155 f. Annales Ric. II, p. 219.
179 ff. Rot. Parl. iii. 380, Annales Ric. II, p. 220.
199 f. ‘Qu’il demureroit en perpetuel prison hors du Roialme en
l’isle de Man par terme de sa vie’ (Rot. Parl. iii. 380).
201 f. By the sentence upon the earl of Warwick all his property
was confiscated, but it is stated in the Annales Ric. II (p. 220) that a
promise was made that he and his wife should have honourable
maintenance from the forfeited revenues, and that this promise was
not kept. Adam of Usk says that an income of 500 marks was
granted to him and his wife, but was never paid (p. 16).
217 f. It seems impossible to construe this, and I suspect that a
line has dropped out.
230. His sentence of death was commuted for that of exile to the
isle of Jersey (Rot. Parl. iii. 382).
231 f. So also below, l. 280, our author expresses a hope for the
safe return of the archbishop of Canterbury, who came back in
company with Henry of Lancaster; cp. 330 f., where a hope is
expressed for future vengeance on the king. Yet we can hardly
suppose that this second part of the Chronicle was actually written
before the events of the third part had come to pass. All that we can
say is that the writer gives to his narrative the semblance of having
been composed as the events happened. The return of Cobham is
mentioned by him afterwards (iii. 262).
233 ff. Our author reserves the case of the archbishop to the last,
as a climax of the evil. He was actually sentenced on Sept. 25,
before the trial of the earl of Warwick (Rot. Parl. iii. 351). Sir John
Cobham, whose sentence is mentioned above, was not put on his
trial till Jan. 28, when parliament was sitting at Shrewsbury.
242. That is, the court of Rome was bribed to consent to his
translation.
243. The title of his father, who was the second earl of Arundel,
was used by him as a surname.
267 ff. This seems to mean that other private reasons were
alleged to the Pope.
280. See note on l. 231.
326 f. An allusion to the campaign of 1380.
328 f. Referring especially to the very popular naval victory of
Arundel in 1387 (Walsingham, ii. 154).
340. That is, in the twenty-first year of the reign (1397).
Tercia Pars
17. This comparison of Richard’s proceedings to the work of a
mole under the ground (see also l. 12, margin) is appropriate enough
as a description of the plot which he undoubtedly laid against the
liberties of the kingdom, but the comparison is perhaps chiefly
intended to suggest that Richard, and not Henry, was the ‘talpa ore
dei maledicta’ of prophecy (Glendower’s ‘mould-warp’), cp.
Archaeologia, xx. p. 258.
27 ff. This refers to the appointment of a committee with full
powers to deal with the petitions and other matters left unfinished in
this parliament. The committee consisted of twelve lords, of whom
six should be a quorum, and six commons, three to be a quorum:
see Rot. Parl. iii. 368, Annales Ric. II, p. 222819. The latter authority
accuses the king of altering the Rolls of Parliament ‘contra effectum
concessionis praedictae.’
35 ff. Cp. Annales Ric. II, p. 225.
47. Que non audiuit auris, &c. The same expression is used by
Adam of Usk about the king’s proceedings in this parliament at
Shrewsbury (p. 17).
49 ff. These transactions are related, but not very intelligibly, in
the continuation of the Eulogium Historiarum, iii. 378. It seems that
the king summoned the archbishop and bishops to his Council at
Nottingham, and used their influence to obtain from the city of
London and the seventeen counties adjacent acknowledgements of
guilt and payments of money to procure pardon. After this the king
ordered that the archbishops, bishops, abbots, &c., and also the
individual citizens of towns, should set their seals to blank
parchments, wherein afterwards a promise to keep the statutes of
the last parliament was inscribed, to which it was supposed that the
king intended to add acknowledgements placing the persons in
question and their property at his own disposal: cp. Monk of
Evesham, p. 147. These last are the ‘blanche-chartres’ spoken of
below called ‘blanke chartours’ in Gregory’s Chronicle, p. 101, where
the form of submission sent in by the city of London, ‘in plesauns of
the kynge and by conselle and helpe of Syr Roger Walden,
Archebischoppe of Cauntyrbury ande Syr Robert Braybroke,
Byschoppe of London,’ is given in full, pp. 98-100. See also Rot.
Parl. iii. 426, 432, where they are referred to as ‘les Remembrances
appellez Raggemans ou blanches Chartres.’
73. pharisea: that is, hypocritically submissive to the king.
77. melior: comparative for superlative; so ‘probacior,’ l. 79.
85 f. Gower attributes Henry’s exile to what was probably the true
cause, namely the king’s jealousy of his popularity and fear that he
might take the lead in opposition to the newly established arbitrary
system of government. The very occasion of the quarrel with the
duke of Norfolk, an allegation on the part of Henry that the duke of
Norfolk had warned him of danger from Richard and had said that
the king could not be trusted to keep his oaths, made it difficult to
take more summary measures against him at that moment. Indeed it
seems probable that the conversation was reported to the king with a
view to obtain a contradiction of the design imputed to him. Adam of
Usk says definitely that the king’s object in appointing the duel at
Coventry was to get rid of Henry, and that Richard had been assured
by astrologers that the duke of Norfolk would win; but that on seeing
them in the lists he was convinced that Henry would be the victor,
and therefore he broke off the duel and banished both, intending
shortly to recall the duke of Norfolk (p. 23). It is noteworthy that
Gower makes no mention whatever of the duke of Norfolk here.
128 (margin). It cannot of course be supposed that Henry
embarked at Calais. Probably he sailed from Boulogne. Froissart
says that his port of departure was Vannes in Brittany, but he
expresses some uncertainty about the matter, and his whole account
here is hopelessly inaccurate (xvii. 171, ed. Kervyn de Lettenhove).
137. nepote: that is Thomas, son of the late earl of Arundel; see l.
130, margin.
160 ff. The suggestion here that Richard foresaw the coming of
Henry and went to Ireland through fear of it, is of course absurd. At
the same time it is certain that he received warnings, and that in view
of these his expedition to Ireland was very ill-timed. The statement in
the margin, that he fatally wasted time in Ireland, is supported both
by the English annalists and by Creton. In the Annales Ric. II we
read that a week was wasted by Richard’s hesitation as to the port
from which he should sail (p. 248), and Creton says that Richard was
delayed by the treacherous advice of the duke of Aumerle, who
induced him to leave the levying of troops in Wales to the earl of
Salisbury and to embark at his leisure at Waterford (Archaeologia,
xx. 312). Nothing is said of unfavourable winds in any of these
authorities, except that Creton observes that the news of Henry’s
landing was delayed by the bad weather (p. 309). Henry landed July
4, and Richard was in Wales before the end of the month.
188. There is no authority for reading ‘sceleris’ in this line, as the
former editors have done. Presumably ‘sceleres’ is for ‘celeres,’ and
this form of spelling is found occasionally elsewhere in the MSS., as
conversely ‘ceptrum’ frequently for ‘sceptrum.’ It is not easy to
translate the line, whatever reading we may adopt. It seems to mean
‘So in their ignorance they hesitate,’ (‘few show themselves quick in
action’).
205. mundum nec abhorruit istum, ‘nor renounced this world’:
‘istum,’ as usual, for ‘hunc.’
244. Augusti mensis. Richard left Flint on Aug. 19, and arrived in
London Sept. 2 (Annales Ric. II, p. 251).
256. Humfredum natum: that is Humphrey, the young son of the
duke of Gloucester. Richard had taken him to Ireland, and on
hearing of the landing of Henry had ordered him to be confined,
together with young Henry of Lancaster, in Trim castle (Walsingham,
ii. 233).
272. transit moriens. He died apparently on the way back from
Ireland, in Anglesea according to Adam of Usk, who says that he
was poisoned (p. 28). Walsingham says that he died of ‘pestilence’
(ii. 242): cp. Annales Henrici IV, p. 321 (Rolls Series, 28. 3).
276. Cignus: apparently the young duke of Gloucester is here
meant, and it is not intended to state that he was killed by grief for
the loss of his father, but that his mother died of grief for him: cp.
Annales Henrici IV, p. 321.
286. dies Martis, Tuesday, Sept. 30. Richard’s renunciation was
made on Sept. 29 (Rot. Parl. iii. 416 ff.).
300 ff. The demise of the crown made new writs necessary, but
the same parliament met again six days later (Oct. 6).
310. verbalis ... non iudicialis. This appears to mean that the
proceedings were confined to a recital of the circumstances
connected with the deposition of Richard, and that no parliamentary
business was done until after the coronation, which took place on the
next Monday, Oct. 13.
332 ff. The threefold right is stated here by Gower in the same
way as by Chaucer:
‘O conquerour of Brutes Albioun,
Which that by lyne and free eleccioun
Ben verray kyng,’ &c.