我有大量的mp4文件可用来从这些文件中创建HLS段,这些文件的价值超过200个小时。我看不到重新编码这些视频的意义,因为它们已经是mp4格式。我使用下面的命令创建一个副本视频成段,而不是再次对其进行编码。
ffmpeg -i filename.mp4 -codec: copy -start_number 0 -hls_time 4 -hls_list_size 0 -f hls filename.m3u8
问题是,在缝合这些片段时,片段之间出现了微音频错误。很难解释,但想象有人打开音频关闭0.1秒。我并没有在所有细分市场中都出现过,而是在20%-30%中。有什么我可以做从重新编码的所有视频除了雨后春笋般冒出来停止这些错误。视频顺便说一句没有问题。
下面的媒体信息从文件之一:
常规
全名:C:\ video_test \ video_file.mp4
格式:MPEG-4
格式配置文件:基本媒体/第2版
编解码器ID:mp42(isom / iso2 / avc1 / mp41 / mp42)
档案大小:45.7 MiB
持续时间:7分34 s
整体比特率模式:可变
总比特率:844 kb / s
编写应用程序:Lavf53.32.100
视频 编号:1
格式:AVC
格式/信息:高级视频编解码器
格式简介:高@ L4
格式设置,CABAC:是
格式设置,参考帧:8帧
编解码器ID:avc1
编解码器ID /信息:高级视频编码
持续时间:7分34 s
比特率:767 kb / s
宽度:1个280像素
高度:720像素
显示宽高比:16:9
帧频模式:恒定
帧率:30.000 FPS
色彩空间:YUV
色度子采样:4:2:0
位深:8位
扫描类型:逐行扫描
比特/(像素*帧):0.028
流大小:41.5 MIB(91%)
编写库:x264核心136
编码设置:cabac = 1 / ref = 8 / deblock = 1:0:0 / analyse = 0x3:0x113 / me = umh / subme = 6 / psy = 0 / mixed_ref = 1 / me_range = 16 / chroma_me = 1 /网格= 0 /了8x8dct = 1 / CQM = 0 /盲区= 21,11 / fast_pskip = 1 / chroma_qp_offset = 0 /线程= 48 / lookahead_threads = 5 / sliced_threads = 0 / NR = 0 /抽取= 1 /隔行= 0 / bluray_compat = 0 / constrained_intra = 0 / bframes = 3 / b_pyramid = 2 / b_adapt = 1 / b_bias = 0 / direct = 1 / weightb = 1 / open_gop = 0 / weightp = 0 / keyint = 60 / keyint_min = 30 / scenecut = 0 / intra_refresh = 0 / rc_lookahead = 40 / rc = crf / mbtree = 1 / crf = 20.0 / qcomp = 0.60 / qpmin = 10 / qpmax = 51 / qpstep = 4 / ip_ratio = 1.40 / aq = 1:1.00音频 ID:2
格式:AAC
格式/信息:高级音频编解码器
格式设定档:LC
编解码器ID:40
持续时间:7分钟34号
码率模式:可变
比特率:72.0 kb / s
最大比特率:96.0 kb / s
频道:2个频道
通道位置:前:L R
采样率:44.1 kHz
帧速率:43.066 FPS(1024 SPF)
压缩方式:有损
流大小:3.92 MIB(9%)
语言:英语
默认值:是
备用组:1
编辑:我只是尝试使用以下命令复制视频并重新编码音频,但问题仍然存在。
ffmpeg -i filename.mp4 -vcodec copy -c:a aac -ar 48000 -b:a 128k -start_number 0 -hls_time 4 -hls_list_size 0 -f hls filename.m3u8