本人新手,有两个问题想请教,希望各位菊苣能够帮忙解答一下:
首先,因为本人最终要出flv格式的文件,所以我采用的方法是音频->ffmpeg->mp3,视频用avs送给x264,最后用ffmpeg混流的方法。但是这样出现了一个很奇怪的问题:如果直接混流成flv,那么播放时,画面会静止在某一帧上,拖动进度条无效,混流时指定fps依然无效;而先混流成mp4然后再用ffmpeg转换成flv则一切正常。
这个问题在各种源的视频上均存在,包括mkv,m2ts和avi...换源滤镜不解决问题
所用的命令行:
► 显示剧情透露 命令行参数
转mp3:
代码: 全选
ffmpeg.exe -y -ss 0.0 -i "D:\EAC\Decade Tokyo 2012\GNXA_1024\BDMV\STREAM\00003.m2ts" -c:a libmp3lame -b:a 320k -ar 44100 -vn -t 120.000 "D:\PythonProgram\py1\temp\Audio\00003_dga.mp3"
x264命令行:
代码: 全选
First pass command line: "D:\PythonProgram\py1\Codecs\encx264\x264_32_tMod-8bit-all.exe" --threads 12 --thread-input --sar 1:1 --bframes 7 --b-adapt 2 --b-pyramid none --no-fast-pskip --no-dct-decimate --min-keyint 24 --aq-strength 1.2 --direct auto --psy-rd 0.9:0 --deblock -1:-1 --chroma-qp-offset 0 --qcomp 0.60 --qpmin 7 --qpmax 34 --qpstep 8 --deadzone-inter 6 --deadzone-intra 4 --pass 1 --slow-firstpass --stats "D:\PythonProgram\py1\temp\Video\00003_dga.264.x264_stats" --trellis 0 --no-8x8dct --me hex --ref 1 --merange 32 --subme 7 --partitions none --output NUL --profile high --level 4.1 --rc-lookahead 48 --vbv-bufsize 50000 --vbv-maxrate 40000 --crf 33 "D:\PythonProgram\py1\temp\avs\00003_dga.avs"
代码: 全选
Second pass command line: "D:\PythonProgram\py1\Codecs\encx264\x264_32_tMod-8bit-all.exe" --threads 12 --thread-input --sar 1:1 --bframes 7 --b-adapt 2 --b-pyramid none --no-fast-pskip --no-dct-decimate --min-keyint 24 --aq-strength 1.2 --direct auto --psy-rd 0.9:0 --deblock -1:-1 --chroma-qp-offset 0 --qcomp 0.60 --qpmin 7 --qpmax 34 --qpstep 8 --deadzone-inter 6 --deadzone-intra 4 --pass 2 --stats "D:\PythonProgram\py1\temp\Video\00003_dga.264.x264_stats" --ref 6 --merange 48 --me umh --subme 10 --trellis 2 --output "D:\PythonProgram\py1\temp\Video\00003_dga.264" --profile high --level 4.1 --rc-lookahead 48 --vbv-bufsize 50000 --vbv-maxrate 40000 --bitrate 411 --partitions "p8x8,b8x8,i4x4,i8x8" "D:\PythonProgram\py1\temp\avs\00003_dga.avs"
混流:
代码: 全选
ffmpeg.exe -y -i "D:\PythonProgram\py1\temp\Video\00003_dga.264" -c:v h264 -c:a mp3float -i "D:\PythonProgram\py1\temp\Audio\00003_dga.mp3" -c:v copy -c:a copy -r 24000/1001 -f flv "D:\test.flv"
所用的avs:
► 显示剧情透露 avs
##源滤镜
LoadPlugin("D:\PythonProgram\py1\Codecs\dgavcindex\DGAVCDecode.dll")
file = "D:/00003.dga"
DGAVCDecode_AVCSource(file)
##截取
Trim(0,2877)
##挂载字幕
##Resize,Crop
LanczosResize(1280, 720)
另外一个问题,按照以上x264参数压制出的flv,在新浪播放时会出现卡顿现象,但是在乐视播放时没有问题。后来偶然间在尝试用mencoder转换成flv时看到一个提示,大意是说flv不支持1以上的bframes参数,然后我尝试降低bframes的数值,发现降为0以后不再卡顿。
我想请问一下这是因为新浪的播放器问题,还是我的x264参数设置有一些隐含的其他问题导致了这个现象?我曾经尝试找过flv的规范,但是没有找到关于连续B帧的部分……