avconv предполагает, что Ваш вывод называют "импульсом", таким образом, необходимо добавить некоторые дополнительные опции указать, что это - вход. Я использую ffmpeg из проекта FFmpeg и не avconv от ветвления, таким образом, я буду использовать ffmpeg для своих примеров.
ffmpeg -f x11grab -s hd1080 -r 30 -i :0.0 -f pulse -i default recording.ogv
, К сожалению, это не будет работать с avconv из репозитория, потому что он не был скомпилирован с --enable-libpulse
насколько я знаю. Так вместо этого можно попробовать:
ffmpeg -f x11grab -s hd1080 -r 30 -i :0.0 -f alsa -i pulse recording.ogv
, Если Вы находите, что необходимо использовать -f pulse
затем, необходимо будет скомпилировать. См. , Как Скомпилировать FFmpeg и x264 на Ubuntu для полного руководства. Необходимо будет дополнительно добавить libpulse-dev
как зависимость и --enable-libpulse
к configure
строка. Также см. ПРАКТИЧЕСКОЕ РУКОВОДСТВО: Надлежащая Экранная демонстрация на Linux для некоторых хороших x11grab примеров. Это для ffmpeg, но должно, вероятно, работать на avconv.
Вы можете привести пример вашего неработающего кода? Это должно отлично работать в версии 2. Если нет, значит, вы обнаружили ошибку.
ОБНОВЛЕНИЕ:
(удаленные комментарии о цитировании)
Я подтвердил команде PowerShell, что это действительно регресс (ошибка ).
Вы можете проголосовать за важность проблемы здесь:
Я получаю те же результаты, что и вы - отображаются все 5 свойств. Я использую Powershell 2.0 RC в Vista. У меня не установлен PowerTab или PSCX.
Вот решение, которое я создал, чтобы обойти эту проблему:
function Set-PSObjectDefaultProperties {
param(
[PSObject]$Object,
[string[]]$DefaultProperties
)
$name = $Object.PSObject.TypeNames[0]
$xml = "<?xml version='1.0' encoding='utf-8' ?><Types><Type>"
$xml += "<Name>$($name)</Name>"
$xml += "<Members><MemberSet><Name>PSStandardMembers</Name><Members>"
$xml += "<PropertySet><Name>DefaultDisplayPropertySet</Name><ReferencedProperties>"
foreach( $default in $DefaultProperties ) {
$xml += "<Name>$($default)</Name>"
}
$xml += "</ReferencedProperties></PropertySet></Members></MemberSet></Members>"
$xml += "</Type></Types>"
$file = "$($env:Temp)\$name.ps1xml"
Out-File -FilePath $file -Encoding "UTF8" -InputObject $xml -Force
$typeLoaded = $host.Runspace.RunspaceConfiguration.Types | where { $_.FileName -eq $file }
if( $typeLoaded -ne $null ) {
Write-Verbose "Type Loaded"
Update-TypeData
}
else {
Update-TypeData $file
}
}
Теперь вы можете использовать следующее, чтобы создать собственный объект и установить свойства по умолчанию в PowerShell V2:
$myObject = New-Object PSObject
$myObject | Add-Member NoteProperty Name 'My Object'
$myObject | Add-Member NoteProperty Property1 1
$myObject | Add-Member NoteProperty Property2 2
$myObject | Add-Member NoteProperty Property3 3
$myObject | Add-Member NoteProperty Property4 4
$myObject | Add-Member NoteProperty Property5 5
$myObject
## Output:
# Name : My Object
# Property1 : 1
# Property2 : 2
# Property3 : 3
# Property4 : 4
# Property5 : 5
$defaultProperties = @('Name','Property2','Property4')
Set-PSObjectDefaultProperties $myObject $defaultProperties
$myObject
## Output:
#Name Property2 Property4
#---- --------- ---------
#My Object 2 4
Он также доступен через PoshCode: Set-PSObjectDefaultProperties