PDA

Просмотр полной версии : Как склеить два больших Mpeg2 файла? Оба примерно 2,5gb


aiden
25.07.2005, 17:21
Как склеить два больших Mpeg2 файла? Оба примерно 2,5gb. Программы типа Movie Joiner (и подобные) в лучшем случае виснут на размере 3,99 gb. Ulead делает два файла один из которых 3,99 а другой остаток. Но зато делает быстро. Перепробывал программ штук 20. Такие проги типа Vegas 4 или Pinacle начинают поновому отрендеривать, а мне это не надо. Файл с разрешением 704*576, bitrate 5000kbs, звук 224kbs с частотой 44100.
ЧТо подскажете ?

pioner9
26.07.2005, 22:35
VobMerge, файлы хоть по 100 гигов клеит.

entropy
03.08.2005, 15:19
Проблема не программах, а в файловой системе. Навярняка стоит ФАТ32, а она поддерживает файлы объемом не более 4ГБ

kos
01.09.2005, 17:15
VirtualDub склеит, если у обоих файло одинаковый битрейт и звук.

Tornado_na
14.09.2005, 13:58
Можно пинакл студио 9 + NTFS

decorum
16.09.2005, 09:21
AVI MPEG RM WMV Joiner
работает шустрее всех подобных прог. Правда, такой величины файло не клеил.

ashok
20.06.2006, 16:35
А ни у кого нет Movie Joiner на данный момент рабочей?

M.D.
20.06.2006, 16:49
Я склеивал с помощью Pinnacle Studio

GVY
23.06.2006, 13:12
А я склеиваю с помощью собственной программки на Perl :-)
Она просто дописывает файлы в конец первого, ничего в них не меняя.

#!/usr/local/bin/perl
#-----------------------------------------------------------------------------
use warnings;
use strict;
#-----------------------------------------------------------------------------
use Fcntl;
use FileHandle;
use File::Basename;
use Errno qw( EINTR );
#-----------------------------------------------------------------------------
sub bytes_required(@);
sub bytes_free($);
#-----------------------------------------------------------------------------
use constant BLKSIZE => 64 * ( 1 << 20 ); # IO buffer, MB
#-----------------------------------------------------------------------------

die "Appends src file(s) to dest\nUsage: cat.pl dest src1 [src2, ...]\n" if @ARGV < 2;

my $dest = shift;
my $me = basename $0;

die "Can't copy to $me\n" if $dest eq $me;
die "Can't copy $dest or $me to $dest\n" if grep / ^ ( ?: $dest | $me ) $ /xi, @ARGV;

#-----------------------------------------------------------------------------

my %hs;
$hs{$_}++ for @ARGV;

for ( my( $fn, $cnt ) = each %hs ) {
die "Can't copy $cnt times $fn\n" if $cnt > 1;
}
#-----------------------------------------------------------------------------

my $br = bytes_required( @ARGV );
my $bf = bytes_free( dirname $dest );

if ( $br >= $bf ) {
my $diff = ( $br - $bf >> 20 ) + 1;
die "Not enough free space: $diff MB\n";
}
#-----------------------------------------------------------------------------

my $start = time;

sysopen FD, $dest, O_WRONLY | O_EXCL | O_APPEND | O_BINARY | O_SEQUENTIAL or die "$dest: $!\n";

my $blksize = ( stat FD )[11] || BLKSIZE; # preffered IO block size
print "IO block size is @{ [ $blksize >> 10 ] } KB\n";

STDOUT->autoflush( 1 );

foreach ( @ARGV ) {

sysopen FS, $_, O_RDONLY | O_SHLOCK | O_BINARY | O_SEQUENTIAL or die "$_: $!\n";

print "cat $_ >> $dest ";

for ( my $buf; ; ) {

my $len = sysread FS, $buf, $blksize; # 0 -> EOF, undef -> $!

if ( !defined $len ) {
next if $! == EINTR;
die "$_: $!\n";
}

last if !$len; # EOF

for ( my $offset = 0; $len; ) {
my $written = syswrite FD, $buf, $len, $offset;
die "$dest: $!\n" if !defined $written;

$len -= $written;
$offset += $written;
}

print ".";
}

close FS and unlink;
print "\n";
}

close FD;

$start = time - $start;
print "$start sec(s)\n";

#-----------------------------------------------------------------------------

sub bytes_required(@)
{
my @ar;
push @ar, -s for @_;

@ar = sort { $a <=> $b } @ar;

return $ar[$#ar]; # file with max size
}
#-----------------------------------------------------------------------------

sub bytes_free($)
{
my $dir = shift;

my @lines = `dir $dir`;
die "dir $dir: $!\n" if $?;

$_ = $lines[$#lines]; # last line

my $ok = s/ ^ \D+ \d+ \D+ //xi; # 2 Dir(s)
$ok += s/\D+$//; # byte(s) free

die "bytes_free: unexpected pattern: $_\n" if $ok != 2;

s/\D+//g; # "123 456 789" -> "123456789"

return $_;
}
#-----------------------------------------------------------------------------

climber
25.06.2006, 16:45
VirtualDub - достаточно прост в работе и многое умеет.

Altarus
31.07.2006, 04:15
Виртуал дампом, лекго !

SV___
01.08.2006, 09:25
MPEG Video Wizard DVD - разрезает и склеивает любые куски MPEG2 файлов в любой компоновке. По умолчанию не перекодирует файлы, более удобного инструмента для компоновки и обрезки файлов, записанных моим ТВ-тюнером в формате MPEG2 я не встречал. Ссылки на официальный сайт и серийные номера есть на этом форуме.

диманыыч
16.04.2007, 22:54
Honestech VHS to DVD :super:
Попробовал и просто без ума от неё!
Склеивает, режет и т.д. А при склейке можно добавить разнообразные профессиональные переходы между кусками видео.
Рекомендую! :super:
Скачать здесь (http://www.2baksa.net/news/13198/).

YURIX
22.04.2007, 13:45
Попробуй Boilsoft AVI MPEG RM WMV Joiner http://www.boilsoft.com/

/lastmylove/

tomas111
22.04.2007, 15:05
можно в nero склеить .....

vagant
12.05.2007, 14:11
Тотал Командер позволяет объединять файлы - "собрать файл"..

seyda
12.05.2007, 16:36
Тотал Командер позволяет объединять файлы - "собрать файл"..

полная чушь, тотал командир ни за что видео клеить не будет. если устроит то как вариант можно попробовать dr.divx, но для этого надо будет переименовать оба файла в подобие vob-овских файлов dvd, примерно так :
VIDEO_TS_01_1.VOB
VIDEO_TS_02_2.VOB
и переконвертировать в avi, в настройках лучше указывать максимальные значения по качеству. Или можно попробовать nero vision(создать слайд-шоу из фильмов), super(этот зверь вообще все во все гонит может и склеит)
Удачи!

Serox
14.07.2007, 09:35
Для VirtualDub нет проблем в размере файла.

XuMan
14.07.2007, 16:49
полная чушь, тотал командир ни за что видео клеить не будет.

еще как склеивает файлы!!! аж уши заворачиваются... не знаете, не говорите!

Eugenius_V
14.07.2007, 23:07
XuMan, так это файлы. Просто файлы, предварительно, как правило, разрезанные "на живую". А если так склеить видеофайлы - будут проблемы, потому что встретив в середине файла второй заголовок сплиттер видео неизвестно как себя поведет.
Некоторые (встроенный из MPC, например) читают нормально, хотя и взбрыкивают при перемотке (+ еще кое-какие глюки). Некоторые (Haali's, скажем) просто не замечают "аппендикс" - еще бы, ведь длина файла прописывается в заголовке, а все, что дальше - уже не сплиттера забота. А некоторые вообще виснут...
не знаете, не говорите!
:roll:

ttttt
07.08.2007, 09:54
Я применяю MPEG Craft DVD от канопуса

rasraziel
08.08.2007, 00:34
Я это делаю с DVD Lab 2.0. http://www.mediachance.com/dvdlab/dvdlabpro.html

dennis2006
08.08.2007, 14:35
Я считаю лучше VirtualDub еще не придумали.

nirvana
14.08.2007, 01:33
Можно попробовать Allok Video Joiner 3.1.0630
Allok Video Joiner - Создание одного большого медиа файла, состоящего из AVI, Divx, XviD, MPEG I/II, VOB, DAT, ASF, WMV фрагментов. Позволяет соединять неограниченное количество видео файлов, сортировать последовательность фрагментов, добавлять к уже существующему проекту отрывки, сохранение проекта в AVI, MPEG, WMV, ASF форматах, встроенный проигрыватель поможет осуществить предварительный просмотр выбранного момента или просмотреть часть проекта. Программа проста в обращении, для получения конечного результата необходимо лишь несколько щелчков мышки, высокая скорость соединения без потери качества.
Ну а взять его можно здесь:
http://www.alloksoft.com/

wkrajewski
14.08.2007, 21:15
Очень смешно, но для склейки видео (БЕЗ перекодировок и изменений) использовал hjsplit. Переименовываем любые файлы (расширения) в его формат (*.001, 002....) и лальше все просто

jolly_rodger
17.08.2007, 14:41
MPEG Video Wizard DVD специально предназначена для редактирования(резки-склейки, без перекодировки) файлов mpeg-1,-2, *.VOB, хомяк-www.womble.com, поищи по форуму наверняка есть ссылки, а ВиртуалДаб хорш для контейнера *.avi ,а не *.mpg.
Кстати MPEG Craft DVD от канопуса, предложеный выше, тоже для этих целей хорош.

HaveNoFear
21.08.2007, 23:30
Народ. У меня аналогичная проблема. Уже весь инет перерыл в поисках нормального софта для склеивания двух mp4 файлов без перекодирования. Оба mp4-файла сконвертированы с идентичными настройками, т.к. проблем при присоединение возникать не должно.
Кто подскажет нормальный софт для этих целей - тому вечный респект :)

ZigAlexander
22.08.2007, 11:13
HaveNoFear, попробуй YAMB - интуитивный GUI к mp4box.

Eugenius_V
22.08.2007, 12:02
ZigAlexander, +1!
Замечу только, что при склейке MP4 (даже сжатых с одинаковыми настройками) иногда наблюдается интересный эффект: два потока видео не воспроизводятся последовательно, а воспринимаются как два параллельных (на выбор то есть) потока - словно их не join'или, а mux'или.

Как правило в таких случаях помогает выдирание в чистый .h264 и запаковка в новый контейнер.

Igor215
28.08.2007, 19:20
Я считаю лучше VirtualDub еще не придумали.

Неверно! VirtualDub никогда не даст на выходе MPEG (1/2)

Лучшее для этого - VideoReDo Plus. :super:

pittonn444
22.09.2008, 20:03
проще всего XILISOFT VIDEO EDITOR-жмешь на ножницы- режешь , жмешь на кисточку -клеишь,

svprovid
28.09.2008, 12:29
Можно попробовать Allok Video Joiner

Согласен с Nirvana. Пробовал я все вышеперечисленное. С минимальными потерями справился только Allok Video Joiner. Одно из последних у меня - помог склеить MPEG2 (300Мб) с AVI (1,02 Гб) а так же два AVI по 1,2 Гб каждый. Выходные настройки там надо выставить желаемые и реальные. Лучше выходное качество все равно не будет, а сохранить он сможет.