Получение информации о файле .avi из командной строки

Три шага:

  1. Создайте ~/.ssh/config на SERVER1 со всем необходимым для подключения к SERVER2, например:

    Host SERVER2
     Порт 50000
     Пользователь user2
     Имя хоста localhost
     IdentityFile ~/path/to/pem/file.pem
    
  2. Попробуйте подключиться к хостам SERVER2 без аргументов (с SERVER1 после инициирования проброса портов):

    ssh SERVER2 # работает?
    

    Если нет, добавьте -vvv и выясните, что пошло не так.

  3. Запустите команду rsync:

    ssh -i ~/path/to/pem/file.pem -R localhost:50000:SERVER2:22 ubuntu@SERVER1 \
     'rsync -vur /home/ubuntu/test SERVER2:/home/ubuntu/test'
    

Обратите внимание, что ключ аутентификации должен быть доступен на SERVER1, если вы хотите сделать это таким образом. Лучше создать новый ключ там, чем копировать закрытый ключ с вашей машины.

6
26.12.2015, 23:50
3 ответа

mplayer поставляется с утилитой midentify , которая делает в основном то, что вы хотите.

Вывод выглядит как присвоение переменных, поэтому его довольно легко использовать в сценариях / просто для синтаксического анализа.

Если midentify не установлен с вашим пакетом mplayer , у вас может быть скрипт midentify.sh в / usr / share / mplayer или что-то в этом роде. В противном случае midenfify просто запускает mplayer с определенным набором аргументов:

#!/bin/sh
#
# This is a wrapper around the -identify functionality.
# It is supposed to escape the output properly, so it can be easily
# used in shellscripts by 'eval'ing the output of this script.
#
# Written by Tobias Diedrich <ranma+mplayer@tdiedrich.de>
# Licensed under GNU GPL.

if [ -z "$1" ]; then
        echo "Usage: midentify.sh <file> [<file> ...]"
        exit 1
fi

mplayer -vo null -ao null -frames 0 -identify "$@" 2>/dev/null |
    sed -ne '/^ID_/ {
                      s/[]()|&;<>`'"'"'\\!$" []/\\&/g;p
                    }'

-ao , -vo и ] -frames параметры не позволяют mplayer фактически воспроизводить клип. Остальное просто форматирование.

Пример:

$ midentify some_random.avi 
ID_VIDEO_ID=0
ID_AUDIO_ID=0
...
ID_VIDEO_BITRATE=258488
ID_VIDEO_WIDTH=320
ID_VIDEO_HEIGHT=240
ID_VIDEO_FPS=29.917
...
ID_LENGTH=4216.76
...
ID_AUDIO_BITRATE=64000
ID_AUDIO_RATE=22050
...
6
29.04.2021, 00:56
Команда

mediainfo также предоставляет вам много информации:

$ mediainfo IMGP3793.AVI 
General
Complete name                            : IMGP3793.AVI
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 121 MiB
Duration                                 : 2mn 16s
Overall bit rate                         : 7 439 Kbps

Video
ID                                       : 0
Format                                   : JPEG
Codec ID                                 : MJPG
Duration                                 : 2mn 16s
Bit rate                                 : 7 339 Kbps
Width                                    : 640 pixels
Height                                   : 480 pixels
Original height                          : 960 pixels
Display aspect ratio                     : 4:3
Frame rate                               : 30.288 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:2
Bit depth                                : 8 bits
Scan type                                : Interlaced
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.789
Stream size                              : 119 MiB (99%)

Audio
ID                                       : 1
Format                                   : PCM
Format settings, Endianness              : Little
Format settings, Sign                    : Unsigned
Codec ID                                 : 1
Duration                                 : 2mn 16s
Bit rate mode                            : Constant
Bit rate                                 : 88.2 Kbps
Channel count                            : 1 channel
Sampling rate                            : 11.025 KHz
Bit depth                                : 8 bits
Stream size                              : 1.44 MiB (1%)
Alignment                                : Aligned on interleaves
Interleave, duration                     : 33 ms (1.00 video frame)
5
29.04.2021, 00:56

Просто перенаправить на https://market.android.com/details?id=... ; Приложение Market настроено как обработчик для этих URL-адресов.

-121--291457-

Различные модули ведут себя по-разному при многократном использовании одной и той же опции. Я знаю, вы можете сказать console = несколько раз, и вы получаете несколько консолей (мы используем его для машин с основными консолями как на их framebuffers, так и на последовательный порт).

Однако можно иметь только один корневой раздел, поэтому root = почти наверняка перезаписывает предыдущее видимое значение, почти наверняка слева направо. Это подтверждается источником ядра, в init/do _ mounts.c функция root _ dev _ setup () отвечает за действие над опцией root = , и все, что она делает, это сохраняет ключ параметра в переменной. Параметр bootparam root = 31:0 переопределяется параметром root =/dev/mtdblock2 , или, по крайней мере, так обстоит дело в 2,6,25 исходном дереве, которое я только что проверил.

По пути, если вы компетентны С, функция name _ to _ dev _ t () в том же файле отвечает за разбор значения root = , и очень просветляет!

Обозначение x: y является стандартным униксизмом для мажор: минор, что является способом идентификации устройств Unices. Традиционно major был 8-битным номером, идентифицирующим драйвер для аппаратного обеспечения, и minor был 8-битным номером, идентифицирующим само устройство. Существует два пространства имен для основных чисел: символьные устройства и блочные устройства. Вы можете увидеть как с помощью cat/proc/devices , так и с помощью ls -la/dev . Пример:

ls -la /dev/zero /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 12 22:01 /dev/sda
crw-rw-rw- 1 root root 1, 5 Jan 12 22:01 /dev/zero

первый столбец определяет тип драйвера ( b для блока, c для символа). Два столбца слева от Jan являются основными и вспомогательными числами в формате major, minor .

Можно присвоить root = любому блочному устройству, независимому от его имени, используя нотацию мажор: минор.

Полный список номеров устройств находится в исходном дереве ядра в разделе Documentation/devices.txt . 31:0, похоже, относится к/dev/rom0, первой плате ПЗУ в системе.

-121--291447-

Можно использовать команду file .

2
29.04.2021, 00:56

Теги

Похожие вопросы