『漫游』酷论坛>『影音数码技术学习交流』>[求助]ffmpeg_svn_r22846, ..

[求助]ffmpeg_svn_r22846,最新问题!~

mickoo@2010-05-16 13:37

今天无聊蛋疼用最新的ffmpeg,转了一下MKV!

效果如下:

转换后的效果:



原版MKV:


MKV信息:

引用
General
Complete name : D:\妖精的旋律\[妖精旋律].05.mkv
Format : Matroska
File size : 337 MiB
Duration : 25mn 2s
Overall bit rate : 1 883 Kbps
Encoded date : UTC 2005-05-05 09:42:08
Writing application : mkvmerge v1.4.2 ('Jimi Thing') built on Apr 16 2005 13:58:15
Writing library : libebml v0.7.4 + libmatroska v0.7.6

Video
ID : 1
Format : MPEG-4 Visual
Format profile : Simple@L3
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)
Codec ID : XVID
Codec ID/Hint : XviD
Duration : 25mn 0s
Bit rate : 1 397 Kbps
Width : 848 pixels
Height : 464 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Original frame rate : 23.976 fps
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.118
Stream size : 250 MiB (74%)
Title : Video
Writing library : XviD 1.1.0 Beta2 (UTC 2005-04-04)
Language : Japanese

Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Codec ID : A_AC3
Duration : 25mn 2s
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Stream size : 80.2 MiB (24%)
Title : Audio
Language : Japanese



希望对大家有帮助!~~
引用

upyzl@2010-05-16 14:11

命令行参数是什么?
引用

mickoo@2010-05-16 14:21

ffmpeg -i D:\妖精的旋律\[妖精旋律].05.mkv -vcodec copy -acodec copy D:\妖精的旋律\[妖精旋律].05.mp4

就是顶置的那个,下的也是roozhou 编译的版本!
引用

upyzl@2010-05-16 15:25

莫非是对xvid支持的有问题?

手头上没有xvid的视频
也没法测试……

自己只转封装过avc的…………

还有
roo兄最新版的是这个 23056
http://sourceforge.net/projects/direct264/files/Related%20Programs/ffmpeg%20%28demuxer_muxer%20only%29/ffmpeg_svn_r23056.7z/download
引用

mickoo@2010-05-16 15:48

可以确定的是OP没有问题,正片和ED都是这个问题~@!
引用

roozhou@2010-05-16 19:21

这个的确是bug,ffmpeg现在还不支持以VFW形式存储在mkv里的视频流

需要解释一下,视频流在mkv里有两种存储方式(当初的设计者真蛋疼)
第一种是原生的流方式,ID是像V_MPEG4/ISO/AVC这样的。每一帧的时间戳是它的PTS。
第二种是VFW的方式,ID是V_MS/VFW/FOURCC,后面再跟上avi里所用的fourcc。每一帧的时间戳是DTS,或者说是其在avi中的位置。

AVC和ASP用两种方式存储都可以,如果在MediaInfo里看,codec id是V_MPEG4/ISO/ASP就是第一种,XVID/DX50/DIVX这类的就是第二种。AVC一般都是第一种,mmg会自动把第二种变成第一种。但ASP一般都是第二种,因为大部分都是从avi来的,mmg不会自动变,必须加上--engage native_mpeg4才会变成第一种。

ffmpeg的vcodec copy无法根据dts来生成pts,因为这个需要解析码流。而mp4需要dts和pts都存在,所以会出错或者生成错误的文件。同样,ffmpeg也无法在两种形式间转换,所以只要有b帧存在,以下的格式转换不支持:
raw bitstream,avi或vfw型的mkv -> 普通mkv,mp4,flv

好吧,说了一大堆废话,无视我吧
引用

upyzl@2010-05-16 19:50

学习到了……

LZ用mkvextract+mp4box试一下吧
引用

mickoo@2010-05-16 20:50

我把视频和音频部分分离,再把音频转成AAC,放进mp4box,直接给我报错~
引用

angering@2010-05-18 01:48

引用
最初由 mickoo 发布
我把视频和音频部分分离,再把音频转成AAC,放进mp4box,直接给我报错~


感謝roozhou的科普啊~~T-T,肉流滿面~~如果見多一點就好了~~

試一下用foobar2000去先轉換音頻,

然後mmg把轉換得來的音頻和 原本就有的視頻拖入mmg

把原有的視頻的ac3音頻去掉,

然後合成

這種不需要解流出文件……

不過會不會出現roozhou大說的問題……嘛……不知道……
引用

| TOP