1 (25.11.2013 12:36:27 отредактировано mogul82)

mi='/usr/bin/mediainfo'
mi3='--Output="Video;%DisplayAspectRatio/String%"'
mi8='/media/sda9/pr/Ben.mp4'

b=subprocess.getoutput([mi, mi3, mi8])

#b=subprocess.check_output([mi, mi3, mi8], shell=False)
#bb=b.decode("utf-8", "replace")

bb=b
print (bb)

Прбовал так

b=subprocess.getoutput(['mediainfo --Output="Video;%DisplayAspectRatio/String%"', mi8])

Команда срабатывает, но результат команды такой, как будто не воспринимается параметр:

--Output="Video;%DisplayAspectRatio/String%"

Шо делать? Как запаковать параметр?

XMPP: mogul82@jabber.ru Фанбой AMD

2

mogul82 пишет:

mi3='--Output="Video;%DisplayAspectRatio/String%"'

тут похоже кавычки лишние... или как оно в шеле выглядело?

95% процентов проблем находятся между клавиатурой и стулом.

3 (25.11.2013 17:10:59 отредактировано -=Serj=-)

Непонятно, выхлоп нужен или нет. Если нет, то

subprocess.call([mi, mi3, mi8])

Если нужен, то

output = subprocess.check_output([mi, mi3, mi8])
Да, у меня Ubuntu.
Нет, не глючит.

4

Fat-Zer пишет:

тут похоже кавычки лишние... или как оно в шеле выглядело?

Например вот так

mediainfo --Output="Video;%DisplayAspectRatio/String%"  /media/sda9/pr/Ben.mp4 

В скрипте пробовал местами поменять одинарные кавычки и двойные, без результата.

XMPP: mogul82@jabber.ru Фанбой AMD

5 (26.11.2013 14:25:47 отредактировано -=Serj=-)

mogul82 пишет:

Например вот так
mediainfo --Output="Video;%DisplayAspectRatio/String%"  /media/sda9/pr/Ben.mp4

Ну, если верить ману http://manpages.ubuntu.com/manpages/pre … nfo.1.html, вы не туда этот параметр передаёте, он передаётся с

--Inform="Video;%DisplayAspectRatio%"
Да, у меня Ubuntu.
Нет, не глючит.

6

mogul82 пишет:

В скрипте пробовал местами поменять одинарные кавычки и двойные, без результата.

в скрипте двойные(внутренние) кавычки не нужны.
запускать, по идее, так: b=subprocess.check_output([mi, mi3, mi8])
с getoutput тоже должно работать...

95% процентов проблем находятся между клавиатурой и стулом.

7 (26.11.2013 15:47:15 отредактировано -=Serj=-)

Fat-Zer пишет:

в скрипте двойные(внутренние) кавычки не нужны.

Вроде, проглатывает нормально

#!/usr/bin/env python3
#-*- coding: utf-8 -*-

import subprocess
print(subprocess.check_output(['echo', '"Video;%DisplayAspectRatio/String%"']))
$ ./test.py 
b'"Video;%DisplayAspectRatio/String%"\n'

ЗЫ. А, или ты с той точки, что мы шеллу её не передаём, поэтому не нужно экранировать кавычками?

Да, у меня Ubuntu.
Нет, не глючит.

8 (26.11.2013 15:47:21 отредактировано mogul82)

-=Serj=- пишет:

--Inform="Video;%DisplayAspectRatio%"

Это без разницы Inform или Output

Fat-Zer пишет:

в скрипте двойные(внутренние) кавычки не нужны.

Едрит, и точно.

Теперь кто подскажет как лучше выбрать параметры, если медиа инфу я беру с помощью avconv и в переменной будет такой результат

avconv version 0.8.9-6:0.8.9-1, Copyright (c) 2000-2013 the Libav developers
  built on Nov  3 2013 00:54:50 with gcc 4.7.2
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/sda9/pr/Ben.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 1970-01-01 00:00:00
    encoder         : Lavf52.93.0
  Duration: 00:15:03.67, start: 0.000000, bitrate: 6820 kb/s
    Stream #0.0(eng): Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 6727 kb/s, 29.97 fps, 29.97 tbr, 2997 tbn, 59.94 tbc
    Metadata:
      creation_time   : 1970-01-01 00:00:00
    Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 86 kb/s
    Metadata:
      creation_time   : 1970-01-01 00:00:00

Например нужно взять оттуда Video: h264, точней только h264, при этом я конечно же не знаю, может DivX там написано будет.

XMPP: mogul82@jabber.ru Фанбой AMD

9

-=Serj=- пишет:

['echo', 'q"we"']

это аналогично шеловскому echo q\"we\"

mogul82 пишет:

Например нужно взять оттуда Video: h264, точней только h264.

да прибудут с тобой регэкспы...

95% процентов проблем находятся между клавиатурой и стулом.

10 (26.11.2013 15:59:22 отредактировано mogul82)

Fat-Zer пишет:

да прибудут с тобой регэкспы...

Рег выражения конечно хорошо, Но сначала наверное нужно найти позицию Stream #, взять всю строку эту, разбить по запятым, а потом уже регэкспами. Ушёл делать.

XMPP: mogul82@jabber.ru Фанбой AMD

11 (26.11.2013 16:07:58 отредактировано -=Serj=-)

mogul82 пишет:

Рег выражения конечно хорошо, Но сначала наверное нужно найти позицию Stream #, взять всю строку эту, разбить по запятым

Тогда регэкспы уже и ненужны будут ab Либо, либо.

Fat-Zer пишет:

-=Serj=- пишет:
['echo', 'q"we"']
это аналогично шеловскому echo q\"we\"

Ага, сам же пример с echo привёл, а то, что с кавычками выхлоп не заметил ab

Да, у меня Ubuntu.
Нет, не глючит.