似乎最新的 VLC(2.0.5;32 位和 64 位版本)无法进行 h264 压缩(尽管 VP8 和 WMV2 工作正常)。尽管没有错误,但生成的文件几乎是空的。这是一个已知的错误还是有人知道我做错了什么?我在下面放了一个调试输出,但它太神秘了,我无法理解。
qt4 调试:MRL 传递给 Sout:file:///C:/Users/me/Videos/vlc-record-2013-04-07-11h41m28s-dshow___-.avi qt4 警告:转码 MRL:sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mp3,ab=128,channels=2,samplerate=44100}:std{access=file,mux=mp4, dst='C:\Users\me\Videos\finaltest.mp4'} qt4 调试:添加选项:file-caching=300 qt4 调试:添加选项:sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mp3,ab=128,channels=2,samplerate=44100}:std{access=file,mux=mp4, dst='C:\Users\me\Videos\finaltest.mp4'} 主要调试:添加项目“流媒体”(file:///C:/Users/me/Videos/vlc-record-2013-04-07-11h41m28s-dshow___-.avi) qt4 调试:向最近的 MRL 添加新的 MRL:file:///C:/Users/me/Videos/vlc-record-2013-04-07-11h41m28s-dshow___-.avi 主要调试:重建当前数组 - 根播放列表 主要调试:重建完成 - 2 项,索引 0 主要调试:处理请求项:流,节点:播放列表,跳过:0 主要调试:在 Streaming 上重新同步 主要调试:流媒体在 1 主要调试:开始播放新的播放列表项 主要调试:在 Streaming 上重新同步 主要调试:流媒体在 1 主调试:创建新的输入线程 主要调试:为“流式传输”创建输入 主要调试:使用 sout chain=`transcode{vcodec=h264,vb=0,scale=0,acodec=mp3,ab=128,channels=2,samplerate=44100}:std{access=file,mux=mp4,dst ='C:\Users\me\Videos\finaltest.mp4'}' 主调试:stream=`std' 主要调试:寻找 sout 流模块:1 个候选者 主要调试:设置配置选项:sout-standard-access to file 主要调试:设置配置选项:sout-standard-mux to mp4 主要调试:设置配置选项:sout-standard-dst 到 C:\Users\me\Videos\finaltest.mp4 主要调试:寻找 sout 访问模块:1 个候选者 access_output_file 调试:打开文件访问输出 (C:\Users\me\Videos\finaltest.mp4) 主要调试:使用 sout 访问模块“access_output_file” 主调试:TIMER module_need():2.413 ms - 总计 2.413 ms / 1 intvls(平均 2.413 ms) 主要调试:寻找 sout mux 模块:1 个候选者 mux_mp4 调试:打开 Mp4 多路复用器 主要调试:使用 sout mux 模块“mux_mp4” 主要调试:TIMER module_need():1.131 ms - 总计 1.131 ms / 1 intvls(平均 1.131 ms) stream_out_standard 调试:使用 `file/mp4://C:\Users\me\Videos\finaltest.mp4' 主要调试:使用 sout 流模块“stream_out_standard” 主要调试:TIMER module_need():5.368 ms - 总计 5.368 ms / 1 intvls(平均 5.368 ms) 主要调试:流=`转码' 主要调试:寻找 sout 流模块:1 个候选者 主要调试:设置配置选项:sout-transcode-vcodec 为 h264 主要调试:设置配置选项:sout-transcode-vb 为 0 主要调试:设置配置选项:sout-transcode-scale 为 0 主要调试:设置配置选项:sout-transcode-acodec 到 mp3 主要调试:设置配置选项:sout-transcode-ab 为 128 主要调试:设置配置选项:sout-transcode-channels 为 2 主要调试:设置配置选项:sout-transcode-samplerate 为 44100 stream_out_transcode 调试:编解码器音频=mp3 44100Hz 2 通道 128Kb/s stream_out_transcode 调试:编解码器视频=h264 0x0 缩放:0.000000 0kb/s 主要调试:使用 sout 流模块“stream_out_transcode” 主要调试:TIMER module_need():4.629 ms - 总计 4.629 ms / 1 intvls(平均 4.629 ms) 主要调试:在路径“C:\Users\me\AppData\Local\Temp”中使用 50 MiB 的时移粒度 主要调试:`file:///C:/Users/me/Videos/vlc-record-2013-04-07-11h41m28s-dshow___-.avi' 提供访问 `file' demux `' path `/C:/Users /me/Videos/vlc-record-2013-04-07-11h41m28s-dshow___-.avi' 主要调试:创建 demux:access='file' demux='' location='/C:/Users/me/Videos/vlc-record-2013-04-07-11h41m28s-dshow___-.avi' file='C: \Users\me\Videos\vlc-record-2013-04-07-11h41m28s-dshow___-.avi' 主要调试:寻找 access_demux 模块:3 个候选者 主调试:无法加载与“文件”匹配的 access_demux 模块 主要调试:TIMER module_need():0.496 ms - 总计 0.496 ms / 1 intvls(平均 0.496 ms) 主要调试:创建访问 '文件' location='/C:/Users/me/Videos/vlc-record-2013-04-07-11h41m28s-dshow___-.avi', path='C:\Users\me\Videos \vlc-record-2013-04-07-11h41m28s-dshow___-.avi' 主要调试:寻找访问模块:3 个候选者 文件系统调试:打开文件 `C:\Users\me\Videos\vlc-record-2013-04-07-11h41m28s-dshow___-.avi' 主要调试:使用访问模块“文件系统” 主要调试:TIMER module_need():0.432 ms - 总计 0.432 ms / 1 intvls(平均 0.432 ms) 主要调试:对 AStream 使用流方法* 主调试:开始预缓冲 主调试:0 ms 后收到第一个数据 主要调试:预缓冲在 0 秒内完成 1024 个字节 - 16393 KiB/s 主要调试:寻找 stream_filter 模块:4 个候选者 主要调试:无法加载匹配“任何”的流过滤器模块 主要调试:TIMER module_need():0.161 ms - 总计 0.161 ms / 1 intvls(平均 0.161 ms) 主要调试:寻找 stream_filter 模块:1 个候选者 主要调试:使用 stream_filter 模块“stream_filter_record” 主要调试:TIMER module_need():0.133 ms - 总计 0.133 ms / 1 intvls(平均 0.133 ms) 主要调试:创建 demux:access='file' demux='' location='/C:/Users/me/Videos/vlc-record-2013-04-07-11h41m28s-dshow___-.avi' file='C: \Users\me\Videos\vlc-record-2013-04-07-11h41m28s-dshow___-.avi' 主要调试:寻找 demux 模块:55 个候选人 avi调试: avi调试: avi调试: avi调试: avi调试: avi调试: avi调试: avi 调试:跳过 movi 块 avi调试: avi 调试:* LIST-root 大小:142188528 位置:0 avi 调试:+ RIFF-AVI 大小:142188520 位置:0 avi 调试:| + LIST-hdrl 大小:10208 位置:12 avi 调试:| | + avih 尺寸:56 位置:24 avi 调试:| | + LIST-strl 大小:116 位置:88 avi 调试:| | | + strh 大小:56 位置:100 avi 调试:| | | + strf 大小:40 位置:164 avi 调试:| | + LIST-strl 大小:94 位置:212 avi 调试:| | | + strh 大小:56 位置:224 avi 调试:| | | + strf 大小:18 位置:288 avi 调试:| | + 垃圾尺寸:9906 位置:314 avi 调试:| + LIST-movi 大小:142176764 位置:10228 avi 调试:| + idx1 尺寸:1520 位置:142187000 avi 调试:AVIH:2 流,标志 HAS_INDEX IS_INTERLEAVED TRUST_CKTYPE avi 调试:流 [0] 速率:4997 规模:1000 样本大小:0 avi 调试:流 [0] 视频(YUY2)1920x1080 24bpp 4.997000fps 主调试:选择程序 id=0 avi 调试:流 [1] 速率:176372 比例:4 样本大小:4 avi 调试:stream[1] audio(0x1 - ) 2 个通道 44100Hz 16bits 主要调试:为“流式传输”创建输入 avi 调试:为流 [0] 选择的标准索引 avi 调试:为流 [1] 选择的标准索引 avi 调试:stream[0] 创建了 34 个索引条目 avi 调试:stream[1] 创建了 61 个索引条目 avi 调试:流 [0] 长度:6(基于索引) avi 调试:流 [1] 长度:6(基于索引) 主要调试:使用解复用模块“avi” 主要调试:TIMER module_need():2.590 ms - 总计 2.590 ms / 1 intvls(平均 2.590 ms) 主要调试:在 C:\Users\me\Videos\ 中寻找字幕文件 主要调试:寻找分包器模块:21 个候选者 主要调试:使用打包模块“rawvideo” 主要调试:TIMER module_need():0.643 ms - 总计 0.643 ms / 1 intvls(平均 0.643 ms) 主要调试:寻找分包器模块:21 个候选者 qt4 调试:IM:设置输入 主要调试:使用分包器模块“packetizer_copy” 主要调试:TIMER module_need():5.806 ms - 总计 5.806 ms / 1 intvls(平均 5.806 ms) 主要调试:以同步模式启动 主要调试:寻找元阅读器模块:2 个候选者 lua 调试:在 C:\Users\me\AppData\Roaming\vlc\lua\meta\reader 中尝试 Lua 脚本 lua 调试:在 C:\Program Files\VideoLAN\VLC\lua\meta\reader 中尝试 Lua 脚本 lua 调试:尝试 Lua 播放列表脚本 C:\Program Files\VideoLAN\VLC\lua\meta\reader\filename.luac 主要调试:(null)不需要获取(目前艺术(null)) 主要调试:无法加载匹配“任何”的元阅读器模块 主要调试:TIMER module_need():2.885 ms - 总计 2.885 ms / 1 intvls(平均 2.885 ms) 主调试:`file:///C:/Users/me/Videos/vlc-record-2013-04-07-11h41m28s-dshow___-.avi' 成功打开 主调试:缓冲 0% 主要调试:切换到异步模式 主要调试:添加新的 sout 输入 (sout_input:000000000399d820) stream_out_transcode 调试:创建从 fcc=`YUY2' 到 fcc=`h264' 的视频转码 主调试:缓冲 8% 主要调试:寻找解码器模块:32个候选 主要调试:使用解码器模块“rawvideo” 主要调试:TIMER module_need():4.216 ms - 总计 4.216 ms / 1 intvls(平均 4.216 ms) 主要调试:寻找编码器模块:13个候选者 x264 调试:版本 x264 0.129.X 主要调试:添加新的 sout 输入 (sout_input:00000000039f4610) 主要调试:缓冲 16% 主要调试:缓冲 25% 主要调试:缓冲 33% 主要调试:缓冲 41% 主要调试:缓冲 50% 主要调试:缓冲 58% 主调试:缓冲 66% 主要调试:使用编码器模块“x264” 主要调试:TIMER module_need():9.890 ms - 总计 9.890 ms / 1 intvls(平均 9.890 ms) 主要调试:删除模块“x264” x264 调试:仍在 libx264 缓冲区中的帧数:0 主要调试:缓冲 75% 主要调试:缓冲 83% 主要调试:缓冲 91% 主要调试:缓冲 100% 主要调试:流缓冲完成(27 毫秒内 325 毫秒) stream_out_transcode 调试:创建从 fcc=`s16l' 到 fcc=`mp3' 的音频转码 主要调试:寻找解码器模块:32个候选 原始调试:采样率:44100Hz 通道:2 位/采样:16 主要调试:使用解码器模块“araw” 主要调试:TIMER module_need():0.111 ms - 总计 0.111 ms / 1 intvls(平均 0.111 ms) 主要调试:寻找编码器模块:13个候选者 avcodec 调试:libavcodec 已初始化(接口 0x361e00) avcodec 调试:找到编码器 MPEG I/II 第 3 层 主要调试:使用编码器模块“avcodec” 主要调试:TIMER module_need():4.349 ms - 总计 4.349 ms / 1 intvls(平均 4.349 ms) stream_out_transcode 调试:寻找过滤器(s16l->s32l,通道 2->2,速率 44100->44100) 主要调试:寻找音频过滤器模块:13个候选 audio_format 调试:s16l->f32l,每个样本的位数:16->32 主要调试:使用音频过滤器模块“audio_format” 主要调试:TIMER module_need():0.094 ms - 总计 0.094 ms / 1 intvls(平均 0.094 ms) 主要调试:过滤器'audio_format'(0000000003952fc8)附加到链 主要调试:寻找音频过滤器模块:13个候选 audio_format 调试:f32l->s32l,每个样本的位数:32->32 主要调试:使用音频过滤器模块“audio_format” 主要调试:TIMER module_need():0.062 ms - 总计 0.062 ms / 1 intvls(平均 0.062 ms) 主要调试:过滤器'audio_format'(0000000003954c38)附加到链 stream_out_transcode 调试:得到完整的音频过滤器链 主要调试:添加新输入 mux_mp4 调试:添加输入 主要调试:解码器缓冲在 5 毫秒内完成 stream_out_transcode 调试:解码器方面为 1.777778:1 stream_out_transcode 调试:源像素纵横比为 1.000000:1 stream_out_transcode 调试:缩放像素纵横比为 1.000000:1 stream_out_transcode 调试:源 1920x1080,目标 1920x1080 stream_out_transcode 调试:编码器方面为 1920:1080 主要调试:寻找视频过滤器2模块:18个候选 swscale 调试:1920x1080 色度:YUY2 -> 1920x1080 色度:I420,使用 Bicubic 进行缩放(质量好) 主要调试:使用视频 filter2 模块“swscale” 主要调试:TIMER module_need():1.038 ms - 总计 1.038 ms / 1 intvls(平均 1.038 ms) 主要调试:过滤器'Swscale'(00000000039537e8)附加到链 stream_out_transcode 调试:目的地(在视频过滤器之后)1920x1080 主要调试:寻找编码器模块:13个候选者 x264 调试:版本 x264 0.129.X 主要调试:使用编码器模块“x264” 主要调试:TIMER module_need():6.441 ms - 总计 6.441 ms / 1 intvls(平均 6.441 ms) 主要调试:添加新输入 mux_mp4 调试:添加输入 avi 警告:无法获取数据包标头,跟踪已禁用 主要调试:达到EOF 主要调试:等待解码器fifos清空 主调试:完成输入 主要调试:删除模块“rawvideo” 主要调试:杀死解码器fourcc`YUY2',FIFO中的0 PES 主要调试:删除 sout 输入 (sout_input:000000000399d820) 主要调试:TIMER 编码视频帧:416.026 ms - 总计 531.820 ms / 35 intvls(平均 15.195 ms) 主要调试:删除模块“rawvideo” 主要调试:删除模块“x264” x264 调试:仍在 libx264 缓冲区中的帧数:34 主要调试:过滤器 00000000039537e8 从链中删除 主要调试:删除模块“swscale” mux_mp4 调试:删除输入 主要调试:删除模块“packetizer_copy” 主要调试:杀死解码器fourcc`s16l',FIFO中的0 PES 主要调试:删除一个 sout 输入 (sout_input:00000000039f4610) 主要调试:TIMER 编码音频帧:0.000 ms - 总计 330.062 ms / 537 intvls(平均 0.615 ms) 主要调试:删除模块“araw” 主要调试:删除模块“avcodec” 主要调试:过滤器 0000000003952fc8 从链中删除 主要调试:删除模块“audio_format” 主要调试:过滤器 0000000003954c38 从链中删除 主要调试:删除模块“audio_format” mux_mp4 调试:删除输入 主要警告:此多路复用器不再有输入流 主要调试:删除模块“avi” 主要调试:删除模块“stream_filter_record” 主要调试:删除模块“文件系统” 主要调试:程序不再包含 ES 主要调试:死输入 主要调试:销毁无用的sout 主要调试:破坏链...(名称=转码) 主要调试:删除模块“stream_out_transcode” 主要调试:销毁链完成 主要调试:破坏链...(名称=标准) 主要调试:删除模块“stream_out_standard” 主要调试:删除模块“mux_mp4” mux_mp4 调试:关闭 mux_mp4 调试:电影时长 0s mux_mp4 调试:创建 0 个块(stco) mux_mp4 调试:创建 0 个块(stco) 主要调试:删除模块“access_output_file” access_output_file 调试:文件访问输出关闭 主要调试:销毁链完成 主要调试:在没有请求的情况下更改项目(当前 1/2) 主要调试:没什么可玩的 qt4 调试:IM:删除输入 主要调试:“流式传输”的 TIMER 输入启动:36.462 ms - 总计 36.462 ms / 1 intvls(平均 36.462 ms)