Конференция "Media" » вырезать, а потом вставить кусок из/в файл [D7, WinXP]
 
  • Dennis$ (30.09.11 04:28) [0]
    Добрый день,
    подскажите чем и как лучше это сделать?

    Нужно в разных файлах (объёмом от 24 до 300 мб каждый) вырезать определённую часть знаков и сохранить это на диск. Например, 12 знаков от начала файла.

    Далее открыв прооперированный файл, вставить вырезаную ранее часть знаков(символов) и далее проиграть этот файл через Медиаплеер.

    (речь идёт о видео-файлах)

    Предполагаю, что делать нужно через поток, но как именно? Или я не прав? P.S. просьба не спрашивать зачем это нужно :)
  • Медвежонок Пятачок © (30.09.11 08:56) [1]
    Это будет работать, но только на одном файле.
    В котором записан фильм "Знаки".
    В других фильмах знаков нет.
    Я проверял.
  • ProgRAMmer Dimonych © (30.09.11 09:56) [2]
    С чем именно из перечисленного возникает проблема?

    P.S. А зачем это нужно? :)
  • Омлет © (30.09.11 10:25) [3]
    порнуху прячем? )
  • Jeer © (30.09.11 16:30) [4]

    > определённую часть знаков


    Дорожных ?
  • Dennis$ (30.09.11 20:25) [5]
    2 Медвежонок Пятачок © / Jeer ©
    оборжаться :))

    2 ProgRAMmer Dimonych ©
    собственно с самими потоками, как прочесть в поток, затем резануть от туда и наоборот.

    2 Омлет ©
    Каждый думает в меру своей испорчености ;)

    Ещё шутники есть или кто-нить что-нить путное подскажет?
  • Dennis$ (30.09.11 20:32) [6]
    Можно загрузить прооперированный файл в TFileStream, добавить к нему в нужное место кусок с данными, и из TFileStream произгать в Медиаплеер?
  • Dennis$ (30.09.11 22:37) [7]
    как резать файл в потоке разобрался, как теперь его проиграть из потока в МедиаПлеере? Возможно вообще?
  • Dennis$ (30.09.11 23:31) [8]
    Ау, где все мастера-delphi?

    Вот классная вещь, только для PNGImage:

    procedure TForm1.Button1Click(Sender: TObject);
    var
    memStream: TMemoryStream;
    pngimg:TPNGObject;
    strStream, img_thumbs: string;
    begin
     img_thumbs:='http://markuss13.narod.ru/Nitzhe.png';
     memStream := TMemoryStream.Create;
     strStream := idhttp1.Get(img_thumbs);
     memStream.Write(strStream[1], Length(strStream));
     memStream.Position := 0;
     pngimg:=TPNGObject.Create;
     pngimg.LoadFromStream(memStream);
     Image1.Picture.Assign(pngimg);
     memStream.Free;
     pngimg.Free;
    end;

    А что с Медиаплеером??? :(
    Как видео воспроизвести из потока?
  • Rouse_ © (01.10.11 01:46) [9]
    Ну, по алгоритмике, это похоже на распаковку ZIP архива.
    Там тоже при извлечении блока данных нужно восстанавливать заголовок ZLib перед распаковкой.
    Можешь посмотреть данный пример, он как раз в динамике отрезает и восстанавливает блоки данных: http://rouse.drkb.ru/components.php#fwzip
  • Dennis$ (01.10.11 03:35) [10]
    Спасибо, попробую разобраться с этим примером...
  • Dennis$ (01.10.11 14:36) [11]
    Rouse_ ©
    Пришёл к выводу, что из потока TMemoryStream видео так просто не просмотреть.
    С не медийными данными всё просто, а вот с видео...
    Медиаплеер здесь абсолютно беспомощен. Как вариант, нужно через DirectX мучиться...

    Может через TFileStream отредактированный файлик можно сохранить на диск, а потом и загрузить с диска в Медиаплеер?? А по завершению просмотра убить (удалить) отредактированный файл?

    Или есть ещё варианты?
  • Jeer © (02.10.11 19:33) [12]

    > Или есть ещё варианты?


    Мучайся дальше.
  • Dennis$ (02.10.11 23:56) [13]
    Всё получилось.
    Разобрался сам (методом проб и ошибок), но сделал, так как и задумал через TMemoryStream. Отдельное спасибо Rouse_ © за вариант с потоками при работе с архивами + пришлось перерыть половину интернета. :))

    P.S. Сравнивая с прошлым годом, форум "Мастера DELPHI" сдал свои позиции...
    Видимо, остались здесь только те "ГУРУ", кто может подсказать жаждушим только как Caption присваивать и менять... :Р

    Спасибо, господа Гуру за молчеливое и равнодушное созерцание со стороны.
    А ответ Jeer © предлагаю вообще автоматом на все новые вопросы по всем веткам форума вставлять...
  • Jeer © (03.10.11 00:01) [14]

    > А ответ Jeer © предлагаю вообще автоматом на все новые вопросы
    > по всем веткам форума вставлять...


    Безусловно, особенно если и дальше будет такой бред, как в [0].
  • Dennis$ (03.10.11 05:37) [15]
    >Jeer ©
    Ваш ник, Jeer, себя полностью оправдывает... :)))
  • salomatena © (16.12.13 22:27) [16]
    телевизор lg 84lm960v
    http://market.mediamarkt.ru/item/130781
    > А ответ Jeer © предлагаю вообще автоматом на все новые вопросы
    > по всем веткам форума вставлять...

    Это как робот отвечает
  • Лакримакристи (19.12.13 14:32) [17]
    > определённую часть знаков

    Нет такого понятия. Может байт?

    > делать нужно через поток

    Да хоть ReadFile/WriteFile. Но зачем? Есть плееры которые откроют видео даже если заголовок отрезан.

    > проиграть этот файл через Медиаплеер

    Он же и 10-й части форматов не пережовывает...
  • Andrey111 (18.04.14 09:40) [18]
    > А ответ Dennis$
    > Всё получилось.
    И как проиграть видео из потока в МедиаПлеере
 
Конференция "Media" » вырезать, а потом вставить кусок из/в файл [D7, WinXP]
Есть новые Нет новых   [118654   +12][b:0][p:0.001]