Вы попробовали его другими avi файлами? Аудиотрек файла мог бы быть длиннее, чем видеотрек (просто предположение).
Вы попробовали-t опцию?
-t duration
Restrict the transcoded/captured video sequence to the duration
specified in seconds. "hh:mm:ss[.xxx]" syntax is also supported.
Можно хотеть попытаться установить аудио поток битов, просачиваются ffmpeg. Я никогда не пробовал его, но фильтр "remove_extra" звучит как обещание ;)
-absf bitstream_filter
Bitstream filters available are "dump_extra", "remove_extra",
"noise", "mp3comp", "mp3decomp".
Вы рассмотрели использование команды как ExifTool для просмотра информации о файле и установке опций соответственно (возможно, даже анализирующий вывод и автоматизирующий его в сценарии)?
Возможно, Вы могли извлечь звуковой файл в формате без потерь и затем транскодировать звуковой файл, но должен быть лучший путь, чем это.
Если Вы получаете отсортированный, отправьте то, что Вы сделали, потому что я не удовлетворен очевидными методами обработки 1000-х видеофайлов, которые я должен демультиплексировать. Я сделал сценарий подобным Вашему, однако я хочу получить самые лучшие качественные звуковые файлы, я могу, не тратя впустую пространства. Мои опции транскодирования будут динамичными наверняка, таким образом, мне будет нужно что-то немного более сложное, чем один лайнер.
От apt-cache
страница справочника:
search regex...
search performs a full text search on all available package lists for the
POSIX regex pattern given, see regex(7). It searches the package names
and the descriptions for an occurrence of the regular expression and
prints out the package name and the short description, including virtual
package names. If --full is given then output identical to show is
produced for each matched package, and if --names-only is given then the
long description is not searched, only the package name is.
Separate arguments can be used to specify multiple search patterns that
are and'ed together.
Заметьте, что это указывает regex(7)
. Таким образом, когда Вы говорите apt-cache
для поиска чего-то, Вы предоставляете ему регулярное выражение. $
в средствах regex, что Вы хотите соответствовать, привязанный в конец строк.
Таким образом, если мы, дал значение desktop$
мы были бы только строки совпадения где desktop
был в конце строк, таких как:
Но это не было бы строки совпадения, такие как:
В Вашем случае строка desktop
в описании xjig, хотя в конце строки в описании, не в конце значения поля описания.
Вот описание xjig.
Description-en: An X11 jigsaw puzzle
xjig is a puzzle that tries to replicate a jigsaw puzzle on the screen
as closely as possible. Any GIF, JPEG or PPM image may be loaded and cut
into pieces. The goal (as with any jigsaw puzzle) is to reassemble the
original picture.
.
Tiles may be freely rotated by use of the mouse, flipped (for
double-sided puzzles) and even shown as shaped windows on the desktop
(fast machine/video card recommended for the latter!). An example image
is provided in /usr/share/games/xjig .
Если я ищу все строки тот конец с xjig .$
.
$ apt-cache search 'xjig \.$'
xjig - An X11 jigsaw puzzle
Помните, что значение для описания является просто длинной строкой, которая перенесена в той точке, поэтому хотя "рабочий стол" является в конце строкой, это не на самом деле в конце значения описания.
Учитывая Вы ищете слово desktop
Вы могли искать строку с любым пробелы с обеих сторон (\s
), или границы слова (\b
).
$ apt-cache search '\sdesktop\s' | grep xjig
xjig - An X11 jigsaw puzzle
$ apt-cache search '\bdesktop\b' | grep xjig
xjig - An X11 jigsaw puzzle
Возможно, использование grep
видеть, что привязка делает в regex, помогло бы.
рабочий стол не в конце
$ echo "this is a desktop string" | grep "desktop$"
$
рабочий стол в конце
$ echo "this is a desktop" | grep "desktop$"
this is a desktop
Комплимент к $
для привязки соответствий в конец строк, ^
для привязки соответствий к началу.
рабочий стол не вначале
$ echo "this is a desktop" | grep "^desktop"
$
рабочий стол вначале
$ echo "desktop this is a desktop" | grep "^desktop"
desktop this is a desktop
Поле описания является многострочным полем, но $
в regexp, означает конец поля, не конец каждой строки поля. Так, если Вы хотите искать desktop
в конце строки или в конце поля, Вам нужно:
apt-cache search 'desktop(
|$)'
Или с ksh93 $'...'
кавычки (также найденный в zsh
и bash
) разрешение \x
escape-последовательности:
apt-cache search $'desktop(\n|$)'
Также отметьте это .
действительно соответствует символу новой строки. Записанный в perl
, это было бы:
print "$name - $summary" if
$name =~ qr{$re}si ||
$description =~ qr{$re}si;
(кроме они не жемчуг regexps, конечно),
$''
нотация. Большинство людей не знакомо с ним.
– slm♦
28.01.2014, 09:22
apt-cache search 'desktop(\n|$)'
по-видимому, работы также.
–
28.01.2014, 09:24
'desktop(\n|$)'
кажется, работает действительно, но нет 'desktop\n'
ни 'desktop(\n)'
. Я не знаю почему.
– Stéphane Chazelas
28.01.2014, 09:27
\b
подход.
– slm♦
28.01.2014, 09:32
apt-cache search xjig .$
как пример? Это имеет меня перепутанный снова. Не делает это означает, что мы теперь ищем два условия, xjig и. $? – 28.01.2014, 09:16apt-cache search
в одинарных кавычках, таким образом, это - отдельный аргумент, мы ищем. – slm♦ 28.01.2014, 09:19xjig
и перед периодом? – 28.01.2014, 09:27apt-cache show xjig
и посмотрите на то, как поле Description обнаруживается. – slm♦ 28.01.2014, 09:29