『漫游』酷论坛>『影音数码技术学习交流』>[原创]dshow2raw工具发布 ..

roozhou@2009-07-29 13:50

ParseSSATag本身效率很差,但主要问题是大量的重复解析
如果不是很EP的脚本(比如绿叶那个一百多M的),ParseSSATag不会构成瓶颈

我用profile工具测出来几个耗时比较多的函数是(多->少)
1)Rasterizer::_OverlapRegion
2)CMemSubPic::AlphaBlt
3)std的某些容器(vector,pair之类)的操作
4)Rasterizer::ScanConvert
5)CRT中的字符串操作(比如wcsstr),这个主要是ParseSSATag调用的
引用

superkidx@2009-07-29 14:03

引用
最初由 roozhou 发布
如果不考虑兼容性的话,我推荐设为1的
快速场景切换时可以随时插入新的I帧


设1的话IDR帧肯定会增加 这样会不会有什么问题
引用

roozhou@2009-07-29 14:07

引用
最初由 superkidx 发布


设1的话IDR帧肯定会增加 这样会不会有什么问题


一定吗?我看大部分时候没变化。
放不放IDR由scenecut决定,如果需要插入的时候因为-i的限制不能用那才是有问题呢
引用

superkidx@2009-07-29 14:09

你这个6 怎么来的? 是1/4秒?
引用

roozhou@2009-07-29 14:32

我之前看到一个地方说某些BD播放器要求最低IDR间隔是6
引用

roozhou@2009-07-29 20:36

x264更新到r1195
引用

wtyrambo@2009-08-12 17:59

请问roozhou,我用你的ffmpeg将mkv封装无法转换成mp4封装?显示incorrect codec parameters
flv却是可以的,请问为什么?
引用

roozhou@2009-08-12 20:07

引用
最初由 wtyrambo 发布
请问roozhou,我用你的ffmpeg将mkv封装无法转换成mp4封装?显示incorrect codec parameters
flv却是可以的,请问为什么?

这个问题官方一直没人解决。下个版本我会加入自己的补丁修正这个问题。

P.S. 你的视频和音频各是什么编码?我看看有没有遗漏的
引用

wtyrambo@2009-08-12 20:24

引用
最初由 roozhou 发布

这个问题官方一直没人解决。下个版本我会加入自己的补丁修正这个问题。

P.S. 你的视频和音频各是什么编码?我看看有没有遗漏的


h.264+aac,最一般的编码类型
引用

roozhou@2009-08-12 20:30

H264 应该不会有incorrect codec parameters
你能帖一下输出的完整信息吗?
引用

wtyrambo@2009-08-12 20:35

概要
完整名称 : D:\Softwares\dshow2raw\ef.mkv
文件格式 : Matroska
文件大小 : 50.2 MiB
长度 : 4分 44秒
平均混合码率 : 1 480 Kbps
编码日期 : UTC 2009-08-01 05:22:42
编码程序 : mkvmerge v2.9.5 ('Tu es le seul') built on Jun 7 2009 11:07:07
编码函数库 : libebml v0.7.7 + libmatroska v0.8.1

视频
ID : 1
文件格式 : AVC
文件格式/信息 : Advanced Video Codec
格式简介 : High@L4.0
格式设置, CABAC : 是
格式设置, ReFrames : 8 frames
混合模式 : Container profile=Unknown@4.0
编码设置ID : V_MPEG4/ISO/AVC
长度 : 4分 44秒
画面宽度 : 1 280像素
画面高度 : 720像素
画面比例 : 16/9
帧率 : 23.976 fps
分辨率 : 24位
比色法 : 4:2:0
扫描方式 : 逐行扫描

音频
ID : 2
文件格式 : AAC
文件格式/信息 : Advanced Audio Codec
格式版本 : Version 4
格式简介 : LC
格式设置, SBR : 否
编码设置ID : A_AAC
长度 : 4分 44秒
声道 : 2声道
声道位置 : L R
采样率 : 48.0 KHz
分辨率 : 16位

就是用你的dshow2raw转换的视频,只是用mkvmerge封装了下而已...
引用

roozhou@2009-08-12 20:50

我说的是ffmpeg的输出,像下面这样的:

Seems stream 0 codec frame rate differs from container frame rate: 47.94
(51152/1067) -> 23.98 (24000/1001)
Input #0, matroska, from 'input.mkv':
Duration: 00:24:30.07, start: 0.000000, bitrate: N/A
Stream #0.0(eng): Video: h264, yuv420p, 640x480, PAR 1:1 DAR 4:3,
23.98 tbr, 1k tbn, 47.94 tbc
Stream #0.1: Audio: mp3, 48000 Hz, 1 channels, s16
[mp4 @ 0x19f40d0]track 0: codec frame size is not set
Output #0, mp4, to 'output.mp4':
Stream #0.0: Audio: libmp3lame, 48000 Hz, 1 channels, s16
Stream mapping:
Stream #0.1 -> #0.0
Could not write header for output file #0 (incorrect codec parameters ?)
引用

wtyrambo@2009-08-12 20:56

D:\Softwares\dshow2raw>ffmpeg -i ef.mkv -acodec copy -vcodec copy 2.mp4
FFmpeg version SVN-r19180, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration:
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.31. 2 / 52.31. 2
libavformat 52.34. 0 / 52.34. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0. 7. 1 / 0. 7. 1
built on Jun 13 2009 12:04:12, gcc: 4.4.0

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (54042/
1127) -> 23.98 (24000/1001)
Input #0, matroska, from 'ef.mkv':
Duration: 00:04:44.36, start: 0.000000, bitrate: N/A
Stream #0.0: Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 23.98 tbr, 1k
tbn, 47.95 tbc
Stream #0.1: Audio: 0x0000, 48000 Hz, stereo, s16
[mp4 @ 0x8d6b00]track 1: codec frame size is not set
Output #0, mp4, to '2.mp4':
Stream #0.0: Video: 0x0021, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 54
042 tbn, 23.98 tbc
Stream #0.1: Audio: 0x0040, 48000 Hz, stereo, s16
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Could not write header for output file #0 (incorrect codec parameters ?)

D:\Softwares\dshow2raw>
引用

roozhou@2009-08-12 21:18

最新的版本是19469,不是19180
当然19469同样有问题,视频部分是坏的
引用

wtyrambo@2009-08-12 21:21

引用
最初由 roozhou 发布
最新的版本是19469,不是19180
当然19469同样有问题,视频部分是坏的


原来如此,那就没办法了
引用

«1718192021222324»共35页

| TOP