PDA

Показать полную графическую версию : [решено] Как получить такие атрибуты видео-файла, как длительность, частота кадров и др?


evg64
07-12-2009, 23:15
Добрый день! К каждому видео файлу есть некоторый набор свойсв, характерных для видео. Эти свойсва можно посмотреть, например, в эксплорере (скрин 1, 2). Однако как получить эти данные к себе в скрипт?

Creat0R
08-12-2009, 00:18
Есть Video UDF (см. аттач), хотя странно что работает оно только используя внешний проигрыватель:

#include <Video.au3>

$sVideo = "E:\Downloads\2012.2009.D.DVDRip.avi"
$hWnd = GUICreate (http://www.autoitscript.com/autoit3/docs/functions/GUICreate.htm)("_Video_GUI_Handler_") ;WinGetHandle("[CLASS:Winamp v1.x; TITLE:" & StringRegExpReplace($sVideo, "^.*\\", "") & "]")
$sDevice = "AVIVideo"

$hVideo = _Video_Open($sVideo, $hWnd)
$Dimns = _Video_Dimension($sVideo)
$FrameRate = _Video_FrameRate($hVideo)
$Length = _Video_Length($hVideo, 0)

$sVideo_Info = StringFormat (http://www.autoitscript.com/autoit3/docs/functions/StringFormat.htm)("Dimensions:\nWidth: %s, Height: %s\n\nFrames Rate:\n%s\n\nLength:\n%s", _
$Dimns[0], $Dimns[1], $FrameRate, $Length)

MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(4096, "Video Info", $sVideo_Info)

_Video_Close($hVideo)

Это пример для открытого видео в KMPlayer.

В архиве есть также пример создания собственного плеера :).

Creat0R
08-12-2009, 00:55
Поправил свой пост если что ;)

evg64
08-12-2009, 03:14
Класс! Спасибо! Действительно то, что искал! :)

evg64
12-12-2009, 15:28
А как получить битрейт (для видео и аудио в файле)? Сколько kHz в аудио? Это все получается из dll, а откуда узнать, что вводить аргументами в DllCall?

kaster
12-12-2009, 15:43
а откуда узнать, что вводить аргументами в DllCall? »
почитать документацию к этому dll




© OSzone.net 2001-2012