群辉VideoStation播放Rmvb的转码参数调整(提高画质) |
VideoStation会实时转码视频为可以网页或者移动播放的功能很实用,但是碰到没法只是简单转封装(mp4.mkv to hls)的情况的时候,转换出的画质会很低。比如Rmvb的实时转码只有240p,在手机上看也很惨。
我研究了一下video station的转码参数文件,找到了提高画质的办法。 具体做法是首先要开启ssh登录,然后ssh登录到nas上 如果你的app都是安装到存储空间1的话,就在对应的目录(volume1)找到配置文件 cd /volume1/@appstore/VideoStation/etc 其中的TransXXXXXX系列文件就是转码参数的配置文件 进行修改前最好先备份一下以便以后恢复 用vi打开TransProfile这个文件 找到mpegts_240p_x264_vb320_vf15_mp3_ab40这一行, "mpegts_240p_x264_vb320_vf15_mp3_ab40": "-threads 0 -vcodec libx264 -vsync 2 -preset superfast -vprofile baseline -level 30 -s 320x240 -b 320k -r 15 -acodec libmp3lame -ab 40k -ac 2 -f ssegment", 其中mpegts_240p_x264_vb320_vf15_mp3_ab40是这个转码参数的名称,冒号后面的是具体的ffmpeg转码参数,可以查阅相关ffmpeg文档进行修改。下面的是我自己修改的版本,给大家参考一下,主要修改掉了-s的分辨率为 480p,h.264的-vprofile 为main,码率 -b修改为1000k,音频的码率 -ab修改为64k,具体修改成多少要看nas的配置和个人的需求。 "mpegts_240p_x264_vb320_vf15_mp3_ab40": "-threads 0 -vcodec libx264 -vsync 2 -preset superfast -vprofile main -level 30 -s hd480 -b 1000k -acodec libmp3lame -ab 64k -ac 2 -f ssegment" 保存文件后,用video station播放一个视频,然后在ssh中用ps aux|grep ffmpeg命令查看下,发现类似下面的进程信息 root 25873 0.0 4.7 440440 48132 ? Sl 10:34 0:00 /var/packages/VideoStation/target/bin/ffmpeg -ss 0 -i /volume1/video/美剧/Game.of.Thrones.S01/Game.of.Thrones.S01E00.rmvb -threads 0 -vcodec libx264 -vsync 2 -preset superfast -vprofile main -level 30 -s 852x480 -aspect 1.775 -b 1000k -acodec libmp3lame -ab 64k -ac 2 -f ssegment -segment_format mpegts -segment_list_type m3u8 -hls_seek_time 0 -segment_time 5 -segment_start_number 00000 - avoid_negative_ts 0 -break_non_keyframes 1 -map 0:1 -map 0:0 /tmp/VideoStation/HLS/313f29b371dc65d36f5877c9ebd772e5_CImPMWcu/slice-%05d.ts root 25889 0.0 0.0 23116 972 ttyS0 S+ 10:34 0:00 grep --color=auto ffmpeg 可以看到红字部分的参数已经是刚才修改过的了,播放的画面也清晰了很多。不过cpu的占用率也直线上升了,所以具体调整成什么样也要看自己的机器的配置 对于群晖的这些转码配置文件我还是没完全搞清楚,首先我测试的结果是除非播放原画质,不然我试过的mp4,mkv,rmvb格式如果选高中低画质都是用的一样的转码配置(mpegts_240p_x264_vb320_vf15_mp3_ab40),虽然看 TransInfo_HLS里面对于不同的格式和硬件做出了相应配置,但是不知道为啥是没有生效的情况。如果有也在研究这个的同学可以大家一起交流一下。 |