公司动态
铁路视频收录全攻略:从4K60拍摄到FFmpeg后期处理
许多铁路摄影爱好者录完素材回到电脑前才发现最花时间的并不是拍摄本身而是整理和后期。面对一段 4K60 视频素材体积大、命名乱、音画不同步、想找某次列车却要一个个点开预览整个过程非常低效。最近在规划新疆铁路列车收录时我把素材管理、FFmpeg 处理和发布前检查整理成了一条可复用的流程。无论你录制的是特涂旅游列车、双层 S25B 型车底还是阿富准线路上的单机运行这套方法论都可以直接套用。本文将系统拆解从设备准备到后期输出的完整链路既有拍摄参数建议也有可以直接复制运行的 Python 与 FFmpeg 示例希望能帮你少走弯路。1. 为什么列车视频收录需要一套流程1.1 列车视频收录不只是“拍下来”很多朋友理解中的“列车收录”就是站在拍摄点录一段视频把列车“收进画面”就算完成。但真正的收录工作尤其是面向 4K60 原声这类高质量素材时它更像一个轻量级制片工程。以一次新疆铁路拍摄为例你可能会同时遇到多种素材类型特涂旅游列车车体涂装有特点适合做短视频封面和主题片头。双层 S25B 型车底车体轮廓、车窗布局、车门位置都与普通单层客车不同。阿富准线路平推检这类作业场景往往是低速运行需要连续跟拍。单机运行没有牵引客车或货车的“裸跑”机车声音与动态都很有辨识度。这些素材如果不能第一时间被打上标签、整理进统一目录等积累到几十个甚至上百个片段后寻找特定画面就会变得非常痛苦。而且 4K60 视频单文件体积大频繁复制、重命名、重新编码都会消耗大量时间和硬盘空间。所以列车视频收录的本质是“采集—管理—加工—输出”的闭环。拍摄只是第一步后面还需要统一命名、元数据记录、转码压缩、音画同步处理等工作。只有把每个环节固定下来才能让素材真正变成可复用、可检索、可发布的资源。1.2 本文适合谁能收获什么这套流程适合三类读者刚接触铁路摄影、准备去新疆或国内其他线路拍摄列车的爱好者。已经积累了大量手机或相机素材但后期整理能力比较弱的入门博主。希望把日常拍摄经验工程化用脚本提升效率的开发者或技术型 UP 主。阅读完本文你可以掌握完整的列车视频收录流程包括拍摄参数建议、文件命名规范、Python 批量整理脚本、FFmpeg 无损切割与压缩命令以及常见音画问题的排查思路。文中的代码都不依赖特定商业软件基本上只要电脑上有 Python 和 FFmpeg 就能运行。2. 拍摄前规划线路、车次与拍摄点2.1 先确定线路与车次信息去一个陌生地区拍摄最忌讳的是“到地方再找机位”。列车速度不低如果没提前规划很可能等看清车型时车已经过去了。以新疆行程为例如果目标是阿富准沿线区域就需要提前做三件事第一确认这条线路上运行的列车车次和大致时间。现在可用的渠道包括中国铁路 12306 官方 App、路路通等时刻查询工具也可以参考当地铁路摄影爱好者的近期运转记录。第二确认目标车型。比如双层 S25B 型车底通常用于哪些车次特涂旅游列车是否在当日开行单机运行一般在什么时段较多这些信息直接影响拍摄点选择。第三确认拍摄当天光线方向。早上适合从东向西拍摄傍晚适合从西向东拍摄。如果机位背光画面主体很容易死黑或过曝。规划清单示例 - 线路名称阿富准铁路沿线段 - 目标车次待查以 12306 和现场情况为准 - 车型特涂旅游列车、双层 S25B 车底、单机 - 机位方向上午侧光 / 下午侧逆光 - 到达时间目标车次到点前 40 分钟不要完全相信网上旧时刻表列车运行图会定期调整。出发前一天再核对一遍现场以车站广播和线路实际信号为准。2.2 拍摄点位选择与机位规划铁路拍摄点位通常分三类站台、跨线桥、线路外侧开阔地。站台适合拍摄列车进站、停靠、旅客上下车和发车过程。优点是位置固定、安全距离有保障缺点是站台人员多列车停靠时容易遮挡拍摄角度受限。拍摄特涂旅游列车时站台能拍到清晰的侧面和车头是记录涂装细节的好地方。跨线桥是拍摄列车运行状态的最佳机位之一。桥面高于轨道可以形成轻微俯视把列车和铁轨、接触网、周围自然环境一起纳入画面。尤其适合拍摄双层车底因为从高处能看出“双层”的车窗层次与普通单层车形成明显对比。线路外侧开阔地适合拍“环境人像”风格的列车素材比如列车驶过花海、戈壁、雪山等场景。但一定要选择合法、安全、可通行的位置千万不要翻越护网进入线路封闭区域。新疆地域辽阔部分路段手机信号不好拍摄时尽量结伴出行并提前把定位发送给家人或朋友。2.3 安全与合规第一无论素材多珍贵安全永远排在第一位。铁路拍摄最需要注意以下几点不进入线路封闭区域不在轨道上行走、坐卧。不在接触网范围内使用无人机、鱼竿、自拍杆等可能触碰高压电线的设备。不干扰行车不使用可能被司机误认为信号的光源或旗帜。遵守当地法规和铁路安全管理条例在允许拍摄的区域拍摄。不使用无人机在未获许可区域飞行尤其在线路和车站周边。对于平推检、线路检测这类作业场景拍摄距离要更保守。作业现场可能存在临时变化不要为了拍“近距离大车头”而冒险接近。3. 设备准备与录制参数3.1 核心设备清单列车视频收录设备可以从“轻量方案”到“专业方案”来配置下面是一份通用清单- 拍摄主机支持 4K60 的手机或微单 - 备用机运动相机或第二台手机用于车内/车外多机位 - 三脚架保证长焦稳定 - 稳定器如果拍摄跟车移动画面才需要 - 外接麦克风推荐指向性麦克风或领夹麦 - 监听耳机3.5mm/RM-10 接口的普通耳机即可 - 存储卡V30 以上速度的 SD 卡或高速 TF 卡 - 移动固态硬盘用于当天素材备份设备不用一步到位。先用现有设备拍出高质量素材了解 4K60 对码率和容量的要求再决定是否升级。3.2 4K60 视频录制参数建议“4K60”是指 3840×2160 分辨率、60 帧/秒的视频规格。60 帧的素材比 25 帧或 30 帧更顺滑后期做慢动作时也更有余地。下面是一组常见微单或运动相机的基准参数需要根据设备实际情况调整参数项建议值说明分辨率3840×21604K UHD画面细节更丰富帧率60fps流畅度和后期慢动作基础快门速度1/125s 或 1/250s避免运动模糊也减少频闪光圈F5.6-F8保证列车主体和轨道都清晰ISO设备原生低感光度范围尽量控制在 400-800 以内编码H.264 或 H.265H.265 更节省空间但剪辑兼容性稍弱码率50-100 Mbps高码率保留更多细节需要注意列车运行速度快如果快门太慢车身文字和涂装细节会变模糊。但快门也不是越快越好太快会增加噪点并让运动看起来不自然。1/250s 通常是一个比较均衡的起点。如果使用手机拍摄在相机 App 中锁定曝光和对焦会更稳妥。很多手机默认的“智能优化”会不断调整色彩和亮度导致连续素材之间色调不统一后期很难调色。建议先关闭自动 HDR 或智能色彩增强必要时用专业模式手动固定白平衡。3.3 原声收音与电平控制标题中“原声”两个字在列车视频里非常重要。列车驶过时的柴油机轰鸣、轮轨摩擦声、风噪、鸣笛声都是视频氛围的一部分。但在户外录制原声最大的敌人是风噪。外接指向性麦克风时建议加上防风毛套并把麦克风架设在尽量远离机身的挑杆或热靴上。如果直接用机身内置麦克风至少不要把相机直接迎风放置。收音时还要控制电平。常见的错误是录完以后发现声音“爆了”尤其是单机牵引、列车突然加速时。这里可以遵循一个经验录制前把麦克风增益调到较低位置让最大声音在电平表上不超过 -6dB 到 -3dB。 宁可声音偏小也不要让波形撞到 0dB 顶格。偏小的声音后期可以用增益补偿但爆音属于削波失真很难完全修复。如果设备支持双声道录音可以把左右声道设置成不同灵敏度给后期留出更多余地。4. 素材整理与元数据管理4.1 建立统一的文件命名规范素材整理最大的坑就是文件名乱七八糟。相机自动生成的文件名通常是IMG_0001.MP4、MH00001.MP4完全体现不出线路、车型和拍摄时间。如果当天拍了好几条线路后续基本只能靠“肉眼识别”效率极低。建议从第一天拍摄开始就建立统一命名规范例如拍摄日期_线路_场景车型_视频规格_序号.mp4 示例 20240105_Afuzhun_S25B_4K60_001.mp4 20240105_Afuzhun_Danji_4K60_002.mp4 20240106_Xinjiang_Huoche_4K60_003.mp4这里S25B表示双层 S25B 型车底Danji表示单机运行Huoche表示特涂旅游列车。标签不一定要全拼可以用拼音或英文缩写关键是统一、简洁、能看懂。但如果素材已经拍完文件名全是IMG开头手动一个个改太浪费时间。这时候可以写一个简单的 Python 脚本批量处理。4.2 用 Python 批量生成拍摄日志下面这个脚本可以扫描指定目录中的视频文件读取文件修改时间再结合文件名中的关键词自动打标签并生成 CSV 日志。注意这里默认只做“复制整理”或者“只生成日志不移动文件”避免误操作。# organize_videos.py import csv from datetime import datetime from pathlib import Path def organize_videos(source_dir, output_dir, move_fileFalse): source Path(source_dir) output Path(output_dir) output.mkdir(parentsTrue, exist_okTrue) logs [] video_ext {.mp4, .mov, .mxf, .avi} for file in sorted(source.iterdir()): if file.suffix.lower() not in video_ext: continue mtime file.stat().st_mtime dt datetime.fromtimestamp(mtime) date_str dt.strftime(%Y%m%d_%H%M%S) # 根据文件名关键词打标签 name file.name.upper() if S25B in name: tag S25B双层车底 elif DANJI in name or 单机 in file.name: tag 单机运行 elif AFUZHUN in name or 阿富准 in file.name: tag 阿富准线路 elif HUA in name or 特涂 in file.name: tag 特涂旅游列车 else: tag 未标记 new_name f{date_str}_{tag}_{file.name} target output / new_name # 避免重名 counter 1 while target.exists(): target output / f{date_str}_{tag}_{counter:02d}_{file.name} counter 1 # 可选实际移动文件。默认注释掉先只生成日志 if move_file: import shutil shutil.copy2(file, target) print(f已复制: {file.name} - {target.name}) logs.append([ file.name, target.name, dt.isoformat(sep , timespecseconds), tag, file.stat().st_size ]) log_path output / video_log.csv with open(log_path, w, newline, encodingutf-8-sig) as f: writer csv.writer(f) writer.writerow([原始文件名, 整理后文件名, 拍摄时间, 标签, 文件大小(B)]) writer.writerows(logs) print(f共整理 {len(logs)} 个文件日志已生成{log_path}) if __name__ __main__: organize_videos( source_dirD:/RailwayShoot/raw, output_dirD:/RailwayShoot/organized, move_fileFalse )运行方式python organize_videos.py脚本会在输出目录生成video_log.csv其中记录了每个视频的原始文件名、整理后文件名、拍摄时间和标签。需要注意的是这里默认使用文件系统修改时间作为拍摄时间如果素材经过多次复制时间可能不准确。更精确的方案是读取视频元数据中的录制时间后面可以再用exiftool等工具增强。4.3 车次、线路、车型标签怎么填日志中的标签字段建议按“线路场景车型”的维度填写。拍摄时可以提前在手机备忘录里记几个关键词晚上整理时参考。例如20240105_Afuzhun_S25B_4K60_001.mp4 - 阿富准线路 / S25B双层车底 20240105_Afuzhun_Danji_4K60_002.mp4 - 阿富准线路 / 单机运行 20240106_Xinjiang_TuLv_4K60_003.mp4 - 新疆线路 / 特涂旅游列车有了标签以后筛选素材就不需要逐个打开视频。直接用 Excel 或 Python 读取 CSV按标签过滤快速找出目标片段。如果你正在做“列车合集”这种日志还能作为剪辑脚本的基础。5. FFmpeg 后期处理实战5.1 无损切割与片段合并拍摄素材常常会有前摇后摇比如开始录晚了、列车出画后还多录了几秒。使用 FFmpeg 可以快速切割。先看一个最简单的无损切割ffmpeg -ss 00:01:00 -i input.mp4 -to 00:02:30 -c copy output.mp4参数说明-ss起始时间单位时:分:秒。-to结束时间。-c copy直接复制视频和音频流不重新编码速度很快。把-ss放在-i前面FFmpeg 会先跳转到目标时间附近再开始读取。这样切割速度快但会定位到最近的关键帧精确度可能稍差。如果要求每一帧都精准建议把-ss放在-i后面并重新编码ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:30 -c:v libx264 -preset fast -c:a aac output.mp4合并多个片段时可以先写一个合并列表# list.txt file part1.mp4 file part2.mp4 file part3.mp4然后执行ffmpeg -f concat -safe 0 -i list.txt -c copy merged.mp4如果这些片段的编码参数完全相同才能直接用-c copy合并如果分辨率、帧率、音频采样率不同就需要重新编码ffmpeg -f concat -safe 0 -i list.txt -c:v libx264 -preset medium -crf 20 -c:a aac merged.mp45.2 音画同步修正与音量标准化列车视频的“原声”很关键但也容易出问题。常见的是音画不同步尤其是外接麦克风通过无线接收器录制时延迟会比机身录音更明显。如果音画不同步差几百毫秒以内可以在 FFmpeg 中调整音频延迟# 音频提前 0.2 秒 ffmpeg -i input.mp4 -itsoffset 0.2 -i input.mp4 -map 0:v -map 1:a -c:v copy -c:a aac output.mp4上面的命令把第二条输入流的音频时间戳整体偏移 0.2 秒。不同设备的偏移量不同需要根据实际波形和画面反复试听。音量标准化推荐使用loudnorm滤镜它基于响度标准处理比简单调音量更科学ffmpeg -i input.mp4 -af loudnormI-16:LRA11:TP-1.5 -c:v copy output.mp4其中I-16目标整体响度为 -16 LUFS适合网络视频平台。LRA11允许的响度范围。TP-1.5真实峰值上限避免削波。如果现场风噪很大还可以加高通滤波和低通滤波切掉低频风噪和高频刺耳声ffmpeg -i input.mp4 -af highpassf80,lowpassf12000 -c:v copy output.mp45.3 4K60 视频压缩与转码原始 4K60 素材的体积往往非常惊人。一段 10 分钟、100Mbps 的素材大约占用 7.5GB 空间。如果要在平台发布通常需要压缩。H.265HEVC编码压缩率更高。下面是一个常用的压缩命令ffmpeg -i input.mp4 -c:v libx265 -preset medium -crf 23 -tag:v hvc1 -c:a aac -b:a 192k -movflags faststart output.mp4参数说明libx265使用 H.265 编码器。-preset medium编码速度和压缩率的平衡点。-crf 23恒定质量模式数值越小画质越好文件越大。一般 20-24 之间。-tag:v hvc1让 Apple 设备更好兼容。-movflags faststart把元数据移动到文件开头适合网络播放。如果担心 H.265 兼容性或者需要导入旧版剪辑软件可以继续使用 H.264ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 20 -c:a aac -b:a 192k -movflags faststart output.mp4需要提醒的是对于 4K60 素材CRF 不要设得太高。CRF 25 以上虽然文件很小但画面中的铁轨纹理、列车涂装细节会严重丢失观感下降明显。5.4 字幕和水印烧录在发布合集视频时常需要在画面中加上“线路名”、“车型”或博主署名。FFmpeg 可以直接把文字烧录到画面里。在视频右下方添加简单文字水印ffmpeg -i input.mp4 -vf drawtexttextChina Railway:fontsize48:fontcolorwhite:shadowcolorblack:shadowx2:shadowy2:xw-tw-50:yh-th-50 -c:v libx264 -c:a copy output.mp4其中text是显示文本x和y是位置w、h是视频宽高tw、th是文本宽高。w-tw-50表示距离右侧 50 像素。如果想把 SRT 字幕烧入视频ffmpeg -i input.mp4 -vf subtitlessubs.srt -c:v libx264 -c:a aac output.mp4注意 Windows 下路径中的反斜杠和冒号可能需要转义。比如ffmpeg -i input.mp4 -vf subtitlesmySubs.srt -c:v libx264 -c:a aac output.mp4如果在命令中写绝对路径可能要把C:/path/subs.srt中的冒号转义为\:否则会报错。6. 几类典型拍摄题材的实操要点6.1 特涂旅游列车怎么拍特涂旅游列车最大的特点是涂装鲜艳、主题性很强。拍摄这类车首先要保证涂装颜色还原准确。建议手动白平衡或者对着灰色卡纸测试一次现场白平衡避免自动白平衡在阳光、阴影之间来回跳。构图方面特涂列车不一定要拉大远景。车头特写、车身侧面的涂装纹样、车门处的主题logo都是很好的细节素材。如果列车停靠站台尽量在车头打开后绕到列车侧面寻找干净背景避免站台堆放的杂物进入画面。拍行驶中的特涂列车时可以尝试“半身构图”——车头刚好进入画面边缘车尾还保留在轨道远端让画面有纵深和动感。注意预留车头方向的空间不要让车头紧贴画面右边或左边。6.2 双层 S25B 型车底的构图重点双层 S25B 型车底的“双层”辨识度来自两层车窗的排列。这种车体比普通单层客车高拍摄时容易出现顶部裁切或底部留白过多的问题。如果站在站台上平视建议把相机架在稍低一点的位置让镜头略微仰视。这样能同时看到上层车窗和下层车窗观感上更接近人眼看到列车的体积感。如果机位太高比如站在跨线桥上进行大俯拍双层结构会被透视压缩反而不明显。光线充足时可以多拍几组不同角度45 度斜前方向适合拍车头与侧面轮廓。90 度正侧面适合拍两层车窗的排列关系。低角度仰拍适合突出车体高度产生压迫感。另外双层车通过弯道时车体会轻微倾斜动态感很强。在曲线外侧找机位用长焦跟拍能拍出普通单层车没有的“身段”。6.3 阿富准平推检与单机运行场景“阿富准”通常指阿勒泰至富蕴至准东一带的铁路区域。在这类线路上除了常规旅客列车还可能遇到平推检测作业或单机运行。平推检通俗理解是检测设备或检测车辆被机车推动沿线路低速运行对轨道状态、信号设备、周边环境进行检测。这类作业场景速度不快但意义特殊。拍摄时可以重点记录机车与检测车辆的连接方式以及车厢内部看不到的检测设备外观。由于车速较慢拍摄难度其实不高但容易忽略声音。检测作业时会有持续的低频引擎声、风泵声、轮轨摩擦声这些声音比高速通过时更有辨识度。录音时尽量保持电平稳定不要因为画面不够“刺激”就随意调高增益。单机运行则是只有机车在线路上行驶没有牵引客车或货车。单机的优点是起停灵活、声音干脆有时会突然加速画面冲击力很强。拍摄单机时快门速度建议保持在 1/250s 以上否则机车车号、转向架细节容易模糊。同时因为列车速度不确定最好用连拍或持续录制避免错过加速的瞬间。7. 常见问题与排查思路7.1 问题速查表问题现象常见原因解决思路视频文件太大原始码率过高使用 H.265/HEVC 重新编码选择合适 CRF剪辑软件卡顿4K60 素材解码压力大先转代理文件或使用低分辨率代理剪辑音画不同步外接设备延迟或剪辑时间线设置错误用-itsoffset调整音频偏移重新同步画面频闪快门速度与灯光频率不匹配在室内或车站场景使用 1/125s 或 1/100s涂装颜色偏色自动白平衡被环境干扰手动白平衡或拍摄灰卡素材找不到文件命名混乱使用批量重命名脚本和 CSV 日志压缩后画面模糊CRF 设置过高或码率不足降低 CRF 数值或改用 H.265 提高压缩效率原声爆音录音电平过高降低麦克风增益保留更多动态余量7.2 两个高频问题的详细排查第一个高频问题FFmpeg 合并视频后音画不同步。这通常是因为两个片段的音频采样率、声道数或帧率不同。使用-c copy直接合并时这些差异没有被统一处理播放器就可能出现渐进式不同步。排查步骤分别查看两个文件的编码信息ffprobe clip1.mp4。对比Audio和Video的编码、采样率、帧率。如果参数不一致改用重编码合并-c:v libx264 -c:a aac。合并后播放检查确认没有偏移。第二个高频问题4K60 素材在剪辑软件中预览卡顿。这不一定是你电脑配置不够而是剪辑软件在实时解码高码率 H.265 文件时压力过大。更稳妥的方案是先转码生成低分辨率代理文件剪辑完成后再替换原始素材输出。FFmpeg 可以批量生成代理ffmpeg -i input.mp4 -vf scale1280:720 -c:v libx264 -preset ultrafast -crf 30 -c:a aac proxy.mp4把代理文件导入剪辑软件时间线操作会流畅很多。最终渲染时在剪辑软件中保持原始素材关联或手动替换回 4K 文件。这样既保留了 4K60 的画质又不影响剪辑体验。8. 最佳实践备份、目录与拍摄卡片8.1 素材备份三二一原则视频素材丢了比拍不到更让人崩溃。尤其是列车素材很多画面是不可复现的错过了就是错过了。所以强烈建议遵循“三二一”备份原则三份副本原始素材一份、本地整理一份、外部存储一份。 两种介质不要全部放在同一块硬盘上至少使用内置硬盘 移动硬盘或 NAS。 一处异地把其中一份放在不同设备或不同地点防止火灾、盗窃或硬件故障。实际操作中可以在拍摄结束后先把当天素材复制到移动固态硬盘回酒店后再备份到电脑。回程后把移动硬盘放公司或家里另一个位置与电脑分开存放。8.2 推荐目录结构项目根目录可以这样组织D:/RailwayShoot/ ├── raw/ # 原始素材不再改动 │ ├── 20240105/ │ └── 20240106/ ├── organized/ # 整理后素材 │ └── video_log.csv ├── proxy/ # 低分辨率代理文件 ├── exports/ # 最终成片 └── scripts/ # Python 脚本和 FFmpeg 命令raw目录只读organized目录存放整理和重命名后的文件proxy目录用于剪辑代理exports目录保存最终视频scripts目录保存所有脚本。这样即使几个月后再打开项目也能快速定位素材。8.3 拍摄卡片模板建议每次拍摄前打印或新建一张“拍摄卡片”记录当天的重要信息拍摄日期2024-01-05 线路阿富准线 目标特涂旅游列车、双层S25B、单机 车次 机位1 机位2 设备 镜头 录制参数 备注拍摄过程中每录完一个片段如果条件允许花 10 秒在手机备忘录里记下“当前片段是什么车次”。晚上整理素材时结合视频修改时间和备忘录就能快速补全 CSV 日志中的标签。这个习惯比任何自动化脚本都更高效。9. 总结与后续学习路线9.1 本文关键点回顾列车视频收录不是“拍完就结束”而是一条从拍摄参数、文件命名、元数据整理到 FFmpeg 后处理的完整工作流。以新疆铁路拍摄为例特涂旅游列车、双层 S25B 型车底、阿富准线路平推检和单机运行等不同题材都需要提前规划机位和拍摄参数。在后端管理方面统一命名规范和 Python 日志脚本能大幅减少素材检索成本。FFmpeg 命令则解决切割、合并、转码、压缩、音量标准化和字幕烧录等常见需求。遇到问题时优先检查编码参数、音画偏移和文件格式不要盲目重装软件或重录素材。9.2 下一步学习建议这套流程跑通后可以继续深入的方向包括学习ffprobe查看视频流细节分析为什么某些素材无法导入剪辑软件。学习exiftool或 Python 的pymediainfo库从视频元数据中提取精确录制时间替代文件修改时间。学习音频处理滤镜例如afftdn、acompressor、anlmdn把风噪和底噪处理做得更自然。尝试把拍摄日志转换为剪辑时间线或字幕脚本形成从拍摄到成片的半自动流程。下次出门拍摄前先把目录模板、设备清单、命名规范和脚本放进 U 盘或云盘。到了拍摄现场每录完一个片段花十秒钟检查曝光和声音。晚上回酒店后跑一遍整理脚本第二天继续拍摄时素材就是干净的。这样回到电脑前你只需要专注剪辑和调色而不是在大海捞针一样找素材。希望这套方法能帮你把每一次铁路运转之旅都变成一份可长期复用的素材资产。