MPEG文件剪辑问题请教!!谢谢~ (10分)

  • 主题发起人 主题发起人 doll_paul
  • 开始时间 开始时间
D

doll_paul

Unregistered / Unconfirmed
GUEST, unregistred user!
请问,如何对MPEG文件剪辑?谢谢!

分可再加!
 
人呢,人呢?是分少,还是都不会?
 
adobe premier6,
 
楼上的,我是要编程实现,不是要软件!
 
那你需要先了解mepg的编解码是怎么回事
 
我只是想简单的完成合并,分离等这些基本操作!
 
http://www.138soft.com/download/MpegProducer.exe
 
to jingtao,小弟的意思并不是要把图片序列生成MPEG文件!

而是要对MPEG文件进行简单的插入、删除,这些编辑!
 
function TForm1.My_CutMpegFile(SourceFile,DestFile:String;StartTime,TimeLength:integer):Boolean;
const //MyHeardSize=44+2352*32;//DWORD;文件头75308字节
MyTimeFramSize=2352*75;//每秒钟176400字节
var
MyHeardSize:integer;
MyMpegFile:TFileStream;
MyMemFile:TMemoryStream;

begin

Result:=True;
MyHeardSize:=GetPacketHead(SourceFile);
MyMpegFile:=TFileStream.Create(SourceFile,fmOpenRead or fmShareDenyNone);
MyMemFile:=TMemoryStream.Create;
try
try
MyMemFile.CopyFrom(MyMpegFile,MyHeardSize);
{ if StartTime=1 then

MyMpegFile.Seek(MyHeardSize,soFrombegin
ning)
else
}
MyMpegFile.Seek(MyHeardSize+MyTimeFramSize*StartTime,soFrombegin
ning);
MyMemFile.CopyFrom(MyMpegFile,MyTimeFramSize*TimeLength);
MyMemFile.SaveToFile(DestFile);
finally
MyMemFile.Free;
MyMpegFile.Free;
end;

except
Result:=False;
end;

end;
 
贴错了
上面那个是DAT格式的
MPEG的更加简单
先取前面两个数据包作为新文件的头
然后后面的切下来加到后面即可
注意MPEG的包大小为2324
 
to jingtao,首先感谢您的回复!非常感谢!

DAT文件每秒播放的字节数是:2324*75个字节,这个我清楚。并且,文件头是 #$00#$00#$01#$BA,小弟也查到了!

但我现在只要做裁减,即把XX秒到XX秒的内容单独保存成一个文件。我想做的还有插入还有增加等操作。请老兄给点提示。
 
to jingtao,首先感谢您的回复!非常感谢!

DAT文件每秒播放的字节数是:2324*75个字节,这个我清楚。并且,文件头是 #$00#$00#$01#$BA,小弟也查到了!

但我现在只要做裁减,即把XX秒到XX秒的内容单独保存成一个文件。我想做的还有插入还有增加等操作。请老兄给点提示。
 
晕...
我上面不是已经说了吗?
把头取下来,然后根据时间段切内容加在那个头后面即可.
 
DAT文件是2352字接为一帧
2324是MPEG的
 
mpeg2 的包好像是2048吧?!
 
接受答案了.
 
后退
顶部