Как правильно сделать загрузочную изо из содержимого каталога

Вы можете использовать этот небольшой скрипт python вместе с find для печати всех файлов с определенным кодеком:

filterByCodec.py

import os
import sys
import json

inputPath = sys.argv[1]
codec = sys.argv[2]
type = sys.argv[3]

cmd = 'ffprobe -v quiet -show_streams -print_format json ' + inputPath
output = os.popen(cmd).read()
output = json.loads(output)

if not 'streams' in output:
    sys.exit(0)
for stream in output['streams']:
    if stream['codec_name'] == codec and stream['codec_type'] == type:
        print inputPath
        sys.exit(0)

Это вызовет ffprobe, сохранит его вывод в строке json, итерацию по всем потокам и печать входного пути в случае, если имя и тип кодека совпадают. Для этого вам понадобится ffprobe.

Затем вы можете вызвать его в каждом файле с помощью find следующим образом:

find . -type f -exec python filterByCodec.py {} hevc video \;

это будет печатать все видео, содержащие видеокодек HEVC. Дополнительные примеры:

find . -type f -exec python filterByCodec.py {} h264 video \;
find . -type f -exec python filterByCodec.py {} mp3 audio \; 

Вы можете расширить скрипт и переместить эти файлы в какую-либо директорию или что-то еще. Это может выглядеть примерно так:

cmd = 'mv ' + inputPath + ' onlyhevcDir'
os.system(cmd)

Я знаю, что это не лучший способ сделать это, но с помощью python это довольно просто сделать.

0
задан 13 May 2018 в 13:04

2 ответа

Cd обычно использует iso9660 на исходном носителе, и в спецификации используется El Torito (эмулированный флоппи-дисковод с изображением диска) для загрузки вместе с UEFI, для которого требуется исполняемый файл EFI в /EFI/boot/bootx64.efi. Эмулированное изображение флоппи также относится к формируемому UEFI FAT32, содержащему тот же /EFI/boot/bootx64.efi, но также содержит устаревший загрузчик в начале изображения.

0
ответ дан 17 July 2018 в 14:25

Cd обычно использует iso9660 на исходном носителе, и в спецификации используется El Torito (эмулированный флоппи-дисковод с изображением диска) для загрузки вместе с UEFI, для которого требуется исполняемый файл EFI в /EFI/boot/bootx64.efi. Эмулированное изображение флоппи также относится к формируемому UEFI FAT32, содержащему тот же /EFI/boot/bootx64.efi, но также содержит устаревший загрузчик в начале изображения.

0
ответ дан 20 July 2018 в 14:30
  • 1
    Возможны другие варианты, такие как, например, разделенный на GPT CD, содержащий ESP. – jdwolf 13 May 2018 в 13:46

Другие вопросы по тегам:

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