当前文章介绍如何在Linux下使用FFmpeg转码其他视频格式到AVS格式的指南,包括编译FFmpeg以支持XAVS编码和如何使用FFmpeg进行转码。
AVS (Audio Video Coding Standard) 格式是一种由中国主导制定的视频编码标准,全称为“中国数字音视频编解码技术标准”(China Digital Audio Video Coding Standard),主要应用于高清电视广播、数字电视、网络视频传输等领域。AVS 标准提高视频压缩效率,降低计算复杂度,并减少专利费用,为中国及其他国家提供一种自主可控的视频编码技术。
AVS 视频编码标准由多个子标准组成,其中 AVS1-P2(也称为 AVS+)是最广泛使用的版本之一,被设计用于高清晰度电视广播服务,并被中国数字地面电视广播标准 DTMB 采纳为推荐的视频编码格式。AVS1-P2 提供了与 H.264/AVC 相当的压缩效率,同时减少了计算复杂度,使得其在硬件实现上更为经济高效。
技术特点
一个avs2编码的视频信息如下:
- [davs2 info]: Manager 26c5cacfc00: Sequence Resolution: 3840x2160.
- [davs2 info]: Dec[ 0] 26c5cad0780: COI of the first frame is 25.
- [davs2 info]: davs2: 1.6.205 5313a0a9f7e63110.10, 2022-02-20 13:39:38
- [davs2 info]: CPU Capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
- [davs2 info]: Manager 26c5cacfc00: using 1 thread(s): 1(frame/AEC)+0(pool/REC), 2 tasks
- "streams": [
- {
- "index": 0,
- "codec_name": "avs2",
- "codec_long_name": "AVS2-P2/IEEE1857.4",
- "codec_type": "video",
- "codec_tag_string": "[0][0][0][0]",
- "codec_tag": "0x0000",
- "width": 3840,
- "height": 2160,
- "coded_width": 3840,
- "coded_height": 2160,
- "closed_captions": 0,
- "film_grain": 0,
- "has_b_frames": 0,
- "pix_fmt": "yuv420p10le",
- "level": -99,
- "refs": 1,
- "r_frame_rate": "50/1",
- "avg_frame_rate": "50/1",
- "time_base": "1/1000",
- "start_pts": 23,
- "start_time": "0.023000",
- "extradata_size": 45,
- "disposition": {
- "default": 0,
- "dub": 0,
- "original": 0,
- "comment": 0,
- "lyrics": 0,
- "karaoke": 0,
- "forced": 0,
- "hearing_impaired": 0,
- "visual_impaired": 0,
- "clean_effects": 0,
- "attached_pic": 0,
- "timed_thumbnails": 0,
- "captions": 0,
- "descriptions": 0,
- "metadata": 0,
- "dependent": 0,
- "still_image": 0
- },
- "tags": {
- "DURATION": "00:00:06.163000000"
- }
- },
- {
- "index": 1,
- "codec_name": "ac3",
- "codec_long_name": "ATSC A/52A (AC-3)",
- "codec_type": "audio",
- "codec_tag_string": "[0][0][0][0]",
- "codec_tag": "0x0000",
- "sample_fmt": "fltp",
- "sample_rate": "48000",
- "channels": 6,
- "channel_layout": "5.1(side)",
- "bits_per_sample": 0,
- "r_frame_rate": "0/0",
- "avg_frame_rate": "0/0",
- "time_base": "1/1000",
- "start_pts": 24,
- "start_time": "0.024000",
- "bit_rate": "448000",
- "disposition": {
- "default": 0,
- "dub": 0,
- "original": 0,
- "comment": 0,
- "lyrics": 0,
- "karaoke": 0,
- "forced": 0,
- "hearing_impaired": 0,
- "visual_impaired": 0,
- "clean_effects": 0,
- "attached_pic": 0,
- "timed_thumbnails": 0,
- "captions": 0,
- "descriptions": 0,
- "metadata": 0,
- "dependent": 0,
- "still_image": 0
- },
- "tags": {
- "DURATION": "00:00:06.008000000"
- }
- }
- ]
- }
-
ffplay播放效果如下:
播放效果:
播放效果:
- svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
-
- svn co https://xavs.svn.sourceforge.net/svnroot/xavs/trunk xavs
-
- cd xavs
- ./configure --enable-shared
- make
- make install
-
- cd ../ffmpeg
- ./configure --enable-gpl --enable-libxavs
-
- make
- make install
-
- ./ffmpeg -formats | less
-
- ./ffmpeg -vframes 300 -cqp 29 -refs 2 -bf 2 -g 16 -s widthxheight -i "INPUT_FILE_NAME" -vcodec libxavs "OUTPUT_FILE_NAME"
-
- ./ffmpeg -i test0.avi -g 60 -b 600k -vcodec libxavs output1.cavs
-
- ./ffmpeg -i test0.avi -b 600k -bf 2 -vcodec libxavs output2.cavs
-
以上步骤和命令可以用来在Linux环境下使用FFmpeg将视频文件转码为AVS格式。
详情看这里:https://gitee.com/zhengtianbo
链接:https://gitee.com/zhengtianbo/FFmpeg-avs2-avs3
直接下载编译好的ffmpeg:https://gitee.com/zhengtianbo/FFmpeg-avs2-avs3/releases/tag/A5.X_222
直接下载地址:https://gitee.com/zhengtianbo/FFmpeg-avs2-avs3/releases/download/A5.X_222/ffmpeg-V5.X-avs23-20220222_davs2-10bit-Win10-X64-EXE.zip
播放效果:
链接:https://gitee.com/zhengtianbo/LAVFilters-GB-CAVS-AVS2-AVS3-decoder
直接下载:https://gitee.com/zhengtianbo/LAVFilters-GB-CAVS-AVS2-AVS3-decoder/releases
链接:https://gitee.com/zhengtianbo/AVS123_VLC4_Player
直接下载编译好的VLC:https://gitee.com/zhengtianbo/VLC3-AVS3AVS2CAVS/releases/download/vlc3.0.11.1AVS3_10-AVS2-CAVS/vlc-3.0.11.1-dev-AVS3_10b-AVS2-CAVS(TS_MKV)Win64_EXE%E8%BF%90%E8%A1%8C%E6%96%87%E4%BB%B6-avs2fix.zip
编译好的VLC下载地址:https://gitee.com/zhengtianbo/VLC3-AVS3AVS2CAVS/releases
链接:https://gitee.com/zhengtianbo/cavs-avs2-avs3_decoder_added_to_mpc_hc
播放效果: