Thursday, July 23, 2015

Переход Windows 7 в UEFI+GPT где уже был Windows 8.1 и обратно.

Ситуация. На новом ноутбуке Acer предустановлена Windows 8.1 по правильному, в соответствии с последними MS достижениями. То есть UEFI & GPT. Выбор UEFI/Legacy - опция в setup ноута (по-старому в BIOS ноута, но в связи с последними концепциями это неправильно, Setup теперь не бязательно BIOS). Однако для работы мне нужна на ноуте Windows 7 поскольку проект большой, работает много людей со множеством программ и систем. И все используют Windows 7 и никто не может сказать а уж тем более гарантировать как себя поведёт проект если кто-то будет работаь на других, более высоких версиях Windows. Возиться с возможными проблемами совместимости времени совершенно не предусмотрено.

Но Win7 у меня установлена на SSD, добавленном вторым драйвом в ноутбук. Ноут перед установкой пришлось переключить из режима UEFI в Legacy и отформатировать SSD как диск с MBR. При этом возможность грузить Windows 8.1 с родного диска потерялась напрочь. Однако хотелось использовать обе системы одновременно, вернее иметь возможность выбора системы при загрузке, в Windows Loader, как обычно. Для этого надо было установить Win7 под UEFI, переведя заодно SSD из MBR в GPT. Что тоже более прогрессивно.


  1. Источники указывали, что Windows 7 x64 может быть установлена на компьютер с UEFI и GPT. Но чтоб сконвертировать диск в GPT надо диск полностью очистить, т.е. он должен быть пустой. Сделал System Image Backup системы Windows 7. Сделал его на HDD, на который установлен Windows 8.1, там много места.
  2. В Setup ноутбука изменил Legacy на UEFI и Windows 8.1 загрузилась. Возможность загрузки Windows 7 с SSD утерялась. Windows 7 нельзя загрузить пока через UEFI (EFI область на HDD), а WIndows 8.1 нельзя загрузить через Windows 7 Loader (на SSD). Стало быть задача - установить Windows 7 так чтоб на него появилась ссылка в EFI разделе родного HDD.
  3. Хм. Чтоб обеспечить работоспособность по окончанию всех моих решительных изменений захотел сделать бэкап и Win8.1. Но её не загружал 3 месяца, накопилось 130-140 обновлений, не помню точно. А какая разница скока точно. Запустил их все, хотел по нескольку за раз, но нечаянно запустил все в один присест Обновления шли 6 часов. Но удачно все закончились. Что не всегда бывает. Порадовался.
  4. После чего запустил таки бэкап Win8.1. System Image Backup системного диска на внешний USB HDD. Но поскольку на системный диск был перед этим сделан бэкап Windows 7, то вовнутрь бэкап Win8.1 попал и он. Но слава Богу бэкап системы "верхнего уровня" так и не понадобился. Хотя бэкап шёл почему то часа 2.
  5. И наконец приступил к новой установке Windows 7. Первый шаг - конвертация SSD в GPT. Сначала, как и полагается, перед конвертацией диска полностью снёс всё что было на SSD. Снос и преобразование делал при помощи diskpart. Эта часть проста, без проблем.
    list disk/select disk N/clean/convert gpt
  6. Приступил к установке Windows 7, как бычно в последнее время, с флешки, И сразу сюрприз: компутер с UEFI не воспринимает флешку как загрузочный диск. Ни при каких установках boot sequence в Setup. Думал было что на моём компутере нельзя установить вообще и хотел отказаться от идеи совсем. Но немного погодя, наутро то есть, решил попробовать таки загрузочный DVD вместо флешки, чего не делал давно. В этом компе DVD нет теперь совсем потому как на его посадочное место установлен SSD в спец.адаптере.
  7. Подключил USB DVD. В Setup поставил загрузку с DVD на 1-ое место в boot sequence и загрузка с установочного DVD Windows 7 пошла. И дав всего 1 сбой, т.е. со 2-го раза всего Windows 7 на SSD установилась! Делаю перегрузку, Restart то есть и вижу Windows Loader меню из 2-х пунктов - Windows 8.1 & Windows 7. Сначала выбираю Windows 8.1 что убедиться что это меню UEFI. Она успешно грузится и могу позволяет зайти как пользователь. Снова делаю рестарт и выбираю теперь Windows 7 и ... Кажется облом.
  8. Windows 7 вроде бы стартует, появляется заставка с летающими огнями, которые складываются в разноцветное окошко и под ним надпись: Windows Starting. Но на этом всё, дальше движения нет. Ноут висит. Жду на всякий случай минут 20 - на случай долгой модификации регистра или чего ещё. Нет, всё таки висит. Повторяю рестарт ещё раз исключить случайный сбой. Без изменений, ноут висит на стартовой картинке Windows 7.
  9. Рестартую и выбираю загрузку базовой Windows 7. Она начинается, но останавливается драйвере CLASSPNP.SYS. Стоит мёртво. Перегружаюсь в Windows 8.1 и гуглю проблему с драйвером и Windows 7. Нахожу очень быстро - это известный баг Windows 7 под UEFI. Блин. Причина толком неизвестна, предлагаются различные лечения, имеющие смысл и помогающие только на определённых моделях компьютеров - например, Ctrl+Break. Верного решения "для всех" нет. Непохоже чтоб MS занимался этой проблемой, им этого на самом деле не нужно, MS как всегда озабочен тем как сдать предыдущую систему (Windows 7) на свалку и вынудить пользователей перейти на следующую версию. Купив её при этом, разумеется.
  10. Попытка в инсталяторе выполнить восстановление системы Windows 7 из созданого в начале System Image Backup (через Repair меню) сразу пресекается инсталлятором. Он определил что бэкап был сделан с диска с MBR и отказался восстанавливать на диск GPT. Но если б разрешил то не факт что восстановленная система не застряла бы на загрузке точно так же как свежеустановленная.
  11. Попыток сделать бэкап/восстановление обычные, не System Image, не делал. Пока лекарство для CLASSPNP.SYS не будет известно наверное можно оставить идею установить Windows 7 в GPT одновременно с Windows 8.1. Решил возвращаться к исходному варианту установки. То есть вернуть SSD в MBR и восстановить на нём Windows 7 из System Image Backup, всё как было раньше. Пункт меню Windows 7 в UEFI Windows Loader убрал вручную при помощи bcdedit. загрузившись в Windows 8.1.
  12. Восстановление началось сильно не сразу, даже заставило поволноваться. Тое сть я его пытаюсь стартовать а оно не идёт. Получал сообщение об ошибке что среда восстановления не соответствует среде сделаного бэкап. Не шло ну никак. Такое бывает в том случае, когда среда отличается очень. Например сделал бэкап в системе Windows Vista, а восттановление запускаешь в Windows 7. Провёл несколько часов в тревоге. Пока наконец я не заподозрил, что виной может быть то что я использовал System Image Restore инсталляционного меняю Repair. Может поможет запуск рестор в установленной системе. Но это было бы странно - почему это при помощи меню Repair инсталяционного нельзя бы было восстановить систему из System Image Backup? Зачем такой Repair вообще нужен?
  13. Странно, но так оно и оказалось. Наконец придумал установить на SSD Windows 7 с инсталяции. Самая первичная установка, без каких бы то ни было драйверов производителей. Самую основную систему, только чтоб запустить System Restore. И он сразу пошёл, предупредив что сотрёт только сделанную инсталяцию тем что находиться в System Image Backup. А мне это  и надо было. Рестор был долгий, часа 2, но завершился успешно. Восстановилось всё полностью, как и ожидалось.
  14. Не смотря на то что задача окончательно не решена, некоторых поставленных целей таки достиг. Во-первых понял как запустить Windows 8.1, хотя она мне не особенно нужна. Для этого надо правда делать переключение в Setup ноута, что не слишком хорошо. Но зато я установил пароль супервизора на Setup ноута (пришлось) и случайно в него теперь не зайдёшь. Переключать между Windows 8.1 и Windows 7 придётся через Setup ноута только, что всё таки и нехорошо.
    И во-вторых, установил updates Windows 8.1, в том числе получил через них приглашение установить бесплатно Windows 10, как лицензионный пользователь. Что и было одной из целей всех этих манипуляций. И что я и выполнил благополучно, конечно. Ведь получить инсталяцию изнутре Windows 7 не получится, мне её менять нельзя. Из-за работы. Хотя предложение через апдэйты уже давно висит.

Tuesday, July 7, 2015

Настройка VirtualDub external encoder h264+AAC в mp4 контейнер

Video encoder h.264 ffmpeg для версии ffmpeg-win64-static

Command arguments
-f rawvideo -s %(width)x%(height) -r %(fps) -i - -vcodec libx264 -crf 19 -preset faster -maxrate 1500k "%(tempvideofile)"

Output filename
%(outputname).video.mp4

Все checkbox ON. Расширение mp4 output filename обязательно.
Кодирование constant quality mode 19, все значения параметров %(...) подставляет VirtualDub

Audio encoder NeroAACCodec
Main tab
Command arguments
-q 0.6 -ignorelength -if - -of "%(tempaudiofile)"

Output filename
%(outputname).audio.m4a

Все checkbox ON. Расширение m4a output filename обязательно.

Audio tab
Input Format
WAV file

Multiplexer
ffmpeg и как мультиплексер

Command arguments
-i "%(tempvideofile)" -i "%(tempaudiofile)"  -c:v copy -c:a copy -r %(fps) -f mp4 "%(outputfile)"

Важно %(outputfile). Все checkbox ON. 

Encoder Set
Выбираем созданые заранее Video encoder, Audio encode & Multiplexer
File description: mp4
File extension: mp4
Replace temp video/audio path with output path checkbox: OFF (not checked)

Кодирование
File/Export/Using external encoder ...
и выбрать Encoder Set для запуска сразу

или

File/Export/Queue batch operation .../Export using external encoder ...
и выбрать Encoder Set для постановки а очередь jobs
запуск после из Job Control... (F4)

Wednesday, July 1, 2015

Настройка VirtualDub capture при доступе через Terminal Service (Remote)

3 настраивал video/audio capture в VirtualDub при доступе через Terminal Service. TV сигнал - фильмы записанные на HD подключённого к ТВ боксу, подаются на TV карту PixelView BT878P+ в старом компутере. Карта у меня давно, раньше делал с её помощью захват видео и аудио от видеомагнитофона. Впрочем видеомагнитофон можно подключить и сейчас, карта принимает НЧ сигнал через RCA разъём - композитный сигнал. Аудио конечно отдельно.

До сих пор фильмы записанные на ТВ бокс перезаписывл на DVD Recorder Philips - бытовой, не в компе - но теперь он взял и сломался. Больше не включается запись.

Итак, проблемы решённые.
Дравер ТВ карты для Windows 7 x64. Искал, есть разные, подошли BT848-BT878-BTXX win764bit.7z
где нашёл не помню. Для установки видео и аудио использовать 2 раза один и тот же INF file

Для записи capture Virtual Dub, DScaler с этими драйверами не пошёл.

ТВ сигнал ч-з антену плохой, искажения. Лучше композитный сигнал ч-з RCA разъём.

Настройки видео
Capture bin... режимы захвата (capture) в файл
RGB24, т.к. запись в AVI в VDub разрешена только так
Preview bin... режимы Preview
Для того чтоб Preview включился при выборе в меню необходимо вкл. какой-нить Interlace в 
Preview Acceleration

Кодек free H.264/AVC x264vfw_full_42_2538bm_41390.exe 
Preset Ultrfast (для этого компутера)
Tuning: Film
Rate control: Single pass ratefactor-based, Ratefactor 15
Output:VFW
H.264 Кодирует всегда неинтерлэйсно, то есть plane (plain?) 4:2:0, YV12
Недостатки: 
невысокое качество кодирования при этих настройках, лучших не позволяет слабый компьютер
неудобство дальнейшего редактирования в VDub полученого AVI файла: key-frame прблема при удалении фрагментов, раскодирование "на лету" во время редактирования медленно.

Проблемы Audio
На capture нет аудио сигнала. 
Установил драйвер аудиокарты (C-Media CM6501), подошли дравера для Vista-64 от производителя карты. Устанавливать в Control Panel - Update Driver ... Установка Setup.exe не поддерживает платформу W7

После установки Audio Mixer и аудио сигнал появился в VirtualDub но только локально. В Remote аудио сигнала нет. Не помогло. Тогда установил (Совет в интернет)
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\fDisableAudioCapture = 0

Не помогло. Наконец прочитал совет проверить конфигурацию RDP файла, для Remote Connect. После переключения Audio на Play on Remote Computer аудио появилось в VirtualDub capture и в Remote.

Audio захват PCM No Compression. Sampling default 96000Hz. Audio/Raw capture format... изменить на 48000Hz т.к. ААС кодек не расчитан на sampling <= 48000. Если больше то при дальнейшем перекодировании в mp4 файл возникают проблемы со звуком, например он совсем не звучит при проигрывании.

Пост Number One

Понадобился ещё один блог, для самого себя. В том смысле, что кроме меня эти посты никому не читать потому как блог задуман чисто утилитарным. Буду сюда памятки писать и всякие записки. 

В последнее время стал как то быстро забывать. В частности если делаю что-то с помощью компутера а потом процесс прерывается по какой то причине но к нему ч-з некоторое время надо вернуться и продолжить с преорванного места то я никак не могу вспомнить деталей уже сделанного и какими методами я добился уже реализованного. Забываю какие писал и использовал процедуры, какие делал операции, как переименовывал файлы, какие режимы программ и в какой последовательности надо использовать чтоб получить нужный результат. Напрочь забываю где, в какой директории диска лежат результаты работы, промежуточные результаты и/или созданные мной же скрипты. И как они работают.

Примеры такие.
Как то, 2 года назад сосканировал семейный архив фотографий, из Владивостокских запасов. Потом начал их сортировать, хотел разложить сканы по годам, хотя бы приблизительно. С месяц занят был, прервался в середине работы, даже пожалую 1/3 только сделал. Разработал тогда целую систему - как сортировать файлы фоток давая им определённые имена. Сейчас смотрю на те промежуточные результаты как баран на новые ворота. Ничего не помню, и не знаю куда делись скрипты с помощью которых и переименовывал. А фоткм с тех пор переехали, сменив уже 2 жестких диска. Не могу свпомнить что я хотел, какая была система сортировки и на чём собственно остановился.

Другой пример
Гораздо позже уже, в прошлом году сканировал негативы и слайды спец. плёночным сканером. Петериса, Ирены и свои. Тоже не закончил. Уже не помню на чём остановился. И главное - точно были проблемы с устиановкой сканера, который както порешал. А как - не помню! Теперь компутер сменился, тех инсталяции софта сканера нет, чтоб продолжить надо его переустановить. Теперь надо будет опять мучиться с его установкой. А какие были детали, как удалось сканер заставить работать не помню напрочь. И нигдк не записано.

Ещё пример.
Люблю записывать сериалы с телевизора и для себя перекодировать эти фидьмы в файлы MPEG4. Раньше это были Xvid и AVI, потом перешёл на h.264 и ACV. Пока делал это непрерывно, всё помнил как работать с VirtulDub и нужными кодеками, в том числе с внешними. Сейчас вот месяц не делал вдруг оказалось что не которые детали процесса никак вспомнить не могу!

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