一些零碎的工作记录、操作记录

1.待转码视频测试集的制备

待转码视频文件信息:
Input #0, matroska,webm, from '10GB.mkv':
  Metadata:
    encoder         : libebml v1.0.0 + libmatroska v1.0.0
    creation_time   : 2010-11-15T00:19:10.000000Z
  Duration: 02:28:07.96, start: 0.000000, bitrate: 10558 kb/s
    Chapter #0:0: start 0.000000, end 701.743000
    Metadata:
      title           : 00:00:00.000
    Chapter #0:1: start 701.743000, end 1297.338000
    Metadata:
      title           : 00:11:41.743
    Chapter #0:2: start 1297.338000, end 1880.337000
    Metadata:
      title           : 00:21:37.338
    Chapter #0:3: start 1880.337000, end 2482.230000
    Metadata:
      title           : 00:31:20.337
    Chapter #0:4: start 2482.230000, end 3073.737000
    Metadata:
      title           : 00:41:22.230
    Chapter #0:5: start 3073.737000, end 3681.553000
    Metadata:
      title           : 00:51:13.737
    Chapter #0:6: start 3681.553000, end 4229.684000
    Metadata:
      title           : 01:01:21.553
    Chapter #0:7: start 4229.684000, end 4935.597000
    Metadata:
      title           : 01:10:29.684
    Chapter #0:8: start 4935.597000, end 5512.590000
    Metadata:
      title           : 01:22:15.597
    Chapter #0:9: start 5512.590000, end 6038.532000
    Metadata:
      title           : 01:31:52.590
    Chapter #0:10: start 6038.532000, end 6682.175000
    Metadata:
      title           : 01:40:38.532
    Chapter #0:11: start 6682.175000, end 7254.414000
    Metadata:
      title           : 01:51:22.175
    Chapter #0:12: start 7254.414000, end 7809.051000
    Metadata:
      title           : 02:00:54.414
    Chapter #0:13: start 7809.051000, end 8455.447000
    Metadata:
      title           : 02:10:09.051
    Chapter #0:14: start 8455.447000, end 8887.963000
    Metadata:
      title           : 02:20:55.447
    Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x800 [SAR 1:1 DAR 12:5], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s (default)
    Stream #0:2(eng): Subtitle: subrip


之前的测试视频的信息:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.41.100
  Duration: 00:15:00.00, start: 0.000000, bitrate: 1094 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360, 1040 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 48 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

2018年9月4日15:36:35
分割视频的命令
mkvmerge -o /opt/DVTS/output.temp/splits/Transcoding_0.mp4.split%04d.mp4.mp4 --split 70m /opt/DTVS/input/Transcoding_0.mp4

制造测试视频源
mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 8192m /mnt/hgfs/VMshare/10GB.mkv(创造8GB视频)
hadoop@master:/mnt/hgfs/VMshare$ mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 8192m /mnt/hgfs/VMshare/10GB.mkv
mkvmerge v6.7.0 ('Back to the Ground') 64bit built on Jan  9 2014 18:03:17
'/mnt/hgfs/VMshare/10GB.mkv': 使用 Matroska 格式分离器。
'/mnt/hgfs/VMshare/10GB.mkv' 轨道 0: 使用 AVC/h.264 格式通用输出模块。
'/mnt/hgfs/VMshare/10GB.mkv' 轨道 1: 使用 DTS 格式通用输出模块。
'/mnt/hgfs/VMshare/10GB.mkv' 轨道 2: 使用 文本字幕 格式通用输出模块。
文件 '/mnt/hgfs/VMshare/split0001.mkv' 已以写入模式打开。
进度: 71%
正在写入 cue 条目 (索引)...
文件 '/mnt/hgfs/VMshare/split0002.mkv' 已以写入模式打开。
进度: 100%
正在写入 cue 条目 (索引)...
混流耗时 16 分钟 11 秒。

2018年9月4日15:55:36
mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 6144m /mnt/hgfs/VMshare/8GB.mkv(创造6GB视频)
hadoop@master:/mnt/hgfs/VMshare$ mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 6144m /mnt/hgfs/VMshare/8GB.mkv
mkvmerge v6.7.0 ('Back to the Ground') 64bit built on Jan  9 2014 18:03:17
'/mnt/hgfs/VMshare/8GB.mkv': 使用 Matroska 格式分离器。
'/mnt/hgfs/VMshare/8GB.mkv' 轨道 0: 使用 AVC/h.264 格式通用输出模块。
'/mnt/hgfs/VMshare/8GB.mkv' 轨道 1: 使用 DTS 格式通用输出模块。
'/mnt/hgfs/VMshare/8GB.mkv' 轨道 2: 使用 文本字幕 格式通用输出模块。
文件 '/mnt/hgfs/VMshare/split0001.mkv' 已以写入模式打开。
进度: 76%
正在写入 cue 条目 (索引)...
文件 '/mnt/hgfs/VMshare/split0002.mkv' 已以写入模式打开。
进度: 100%
正在写入 cue 条目 (索引)...
混流耗时 10 分钟 26 秒。

mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 4096m /mnt/hgfs/VMshare/6GB.mkv(创造4GB视频)
hadoop@master:/mnt/hgfs/VMshare$ mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 4096m /mnt/hgfs/VMshare/6GB.mkv
mkvmerge v6.7.0 ('Back to the Ground') 64bit built on Jan  9 2014 18:03:17
'/mnt/hgfs/VMshare/6GB.mkv': 使用 Matroska 格式分离器。
'/mnt/hgfs/VMshare/6GB.mkv' 轨道 0: 使用 AVC/h.264 格式通用输出模块。
'/mnt/hgfs/VMshare/6GB.mkv' 轨道 1: 使用 DTS 格式通用输出模块。
'/mnt/hgfs/VMshare/6GB.mkv' 轨道 2: 使用 文本字幕 格式通用输出模块。
文件 '/mnt/hgfs/VMshare/split0001.mkv' 已以写入模式打开。
进度: 66%
正在写入 cue 条目 (索引)...
文件 '/mnt/hgfs/VMshare/split0002.mkv' 已以写入模式打开。
进度: 100%
正在写入 cue 条目 (索引)...
混流耗时 7 分钟 50 秒。

mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 2048m /mnt/hgfs/VMshare/4GB.mkv(创造2GB视频)
hadoop@master:/mnt/hgfs/VMshare$ mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 2048m /mnt/hgfs/VMshare/4GB.mkv
mkvmerge v6.7.0 ('Back to the Ground') 64bit built on Jan  9 2014 18:03:17
'/mnt/hgfs/VMshare/4GB.mkv': 使用 Matroska 格式分离器。
'/mnt/hgfs/VMshare/4GB.mkv' 轨道 0: 使用 AVC/h.264 格式通用输出模块。
'/mnt/hgfs/VMshare/4GB.mkv' 轨道 1: 使用 DTS 格式通用输出模块。
'/mnt/hgfs/VMshare/4GB.mkv' 轨道 2: 使用 文本字幕 格式通用输出模块。
文件 '/mnt/hgfs/VMshare/split0001.mkv' 已以写入模式打开。
进度: 51%
正在写入 cue 条目 (索引)...
文件 '/mnt/hgfs/VMshare/split0002.mkv' 已以写入模式打开。
进度: 100%
正在写入 cue 条目 (索引)...
混流耗时 5 分钟 32 秒。

mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 1024m /mnt/hgfs/VMshare/2GB.mkv(创造1GB视频)
hadoop@master:/mnt/hgfs/VMshare$ mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 1024m /mnt/hgfs/VMshare/2GB.mkv
mkvmerge v6.7.0 ('Back to the Ground') 64bit built on Jan  9 2014 18:03:17
'/mnt/hgfs/VMshare/2GB.mkv': 使用 Matroska 格式分离器。
'/mnt/hgfs/VMshare/2GB.mkv' 轨道 0: 使用 AVC/h.264 格式通用输出模块。
'/mnt/hgfs/VMshare/2GB.mkv' 轨道 1: 使用 DTS 格式通用输出模块。
'/mnt/hgfs/VMshare/2GB.mkv' 轨道 2: 使用 文本字幕 格式通用输出模块。
文件 '/mnt/hgfs/VMshare/split0001.mkv' 已以写入模式打开。
进度: 50%
正在写入 cue 条目 (索引)...
文件 '/mnt/hgfs/VMshare/split0002.mkv' 已以写入模式打开。
进度: 100%
正在写入 cue 条目 (索引)...
混流耗时 1 分钟 48 秒。


mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 512m /mnt/hgfs/VMshare/1GB.mkv(创造512MB视频)
hadoop@master:/mnt/hgfs/VMshare$ mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 512m /mnt/hgfs/VMshare/1GB.mkv
mkvmerge v6.7.0 ('Back to the Ground') 64bit built on Jan  9 2014 18:03:17
'/mnt/hgfs/VMshare/1GB.mkv': 使用 Matroska 格式分离器。
'/mnt/hgfs/VMshare/1GB.mkv' 轨道 0: 使用 AVC/h.264 格式通用输出模块。
'/mnt/hgfs/VMshare/1GB.mkv' 轨道 1: 使用 DTS 格式通用输出模块。
'/mnt/hgfs/VMshare/1GB.mkv' 轨道 2: 使用 文本字幕 格式通用输出模块。
文件 '/mnt/hgfs/VMshare/split0001.mkv' 已以写入模式打开。
进度: 51%
正在写入 cue 条目 (索引)...
文件 '/mnt/hgfs/VMshare/split0002.mkv' 已以写入模式打开。
进度: 100%
正在写入 cue 条目 (索引)...
混流耗时 55 秒。

mkvmerge -o /mnt/hgfs/VMshare/split%04d.mkv --split 240m /mnt/hgfs/VMshare/512MB.mkv(创造240MB视频)

2.操作命令记录

将wordcount的项目导出jar包。放在master中的/usr/hadoop路径下
打开hadoop集群
执行命令:
hadoop jar /usr/hadoop/wc.jar  /user/hadoop/input /user/hadoop/output

2018年8月4日14:43:41
此时使用TranscoderMR项目导出的jar包为tc5.jar,已经可以完成分布式视频转码功能
1.但是在我们的MapReduce程序中设置了一些休眠的地方,是为了避免上一步的工作没有完成就直接执行下一步
Thread.sleep(10000);
2.我们将中间的一些转码参数注释掉了,只保留了对封装格式的修改

2018年8月4日15:15:06
导出的TranscoderMr2.jar中已经注释掉了Thread.sleep(),MapReduce程序能够正常运行,可以得到转码后的分片
但是注释掉的参数那一部分不能够恢复,这让人非常的心烦(这个jar包是用来只针对封装格式转码用的,中间参数都被屏蔽了)

2018年9月4日20:31:53
导出的TranscoderMr3.jar中已经注释掉了Thread.sleep(),MapReduce程序能够正常运行,可以得到转码后的分片
注释掉的参数那一部分也恢复,并进行测试参数文件为Para9m4d.xml。完美成功。(明天来设计一下实验数据集的转码参数就可以用这个jar包来实现转码了)

下面这条指令是源代码中的指令(不能够成功执行)
ffmpeg -i /opt/DVTS/MRtest/split/Transcoding_0.mp4.split0001.mp4 -b:v 15000k -maxrate 30000k -bufsize 30000k -s 3840*2160 -r 25 -g 50 -pix_fmt yuv420p -aspect 16:9 -c:v libx265 -x265-params bframe=3:keyint=50 -c:a ac3 -ar 48k -b:a 256k -y /opt/DVTS/MRtest/trans/Transcoding_0.mp4.split0001.mp4.flv
下面这个命令能够成功执行
ffmpeg -i /opt/DVTS/MRtest/split/Transcoding_0.mp4.split0001.mp4 -b:v 15000k -maxrate 30000k -bufsize 30000k -s 3840*2160 -r 25 -g 50 -pix_fmt yuv420p -aspect 16:9 -c:v libx264 -x264-params bframes=3 -c:a ac3 -ar 48k -b:a 256k -y /opt/DVTS/MRtest/trans/Transcoding_0.mp4.split0001.mp4.ts
貌似我们的ffmpeg无法加载“libx265 -x265-params bframe=3:keyint=50”这段指令
我尝试了sudo apt-get install libx265-dev
但是不成功!(可以解决这个问题 ,在baidu,重新配置ffmpeg动态库就好了)

上面这个命令还需要仔细解读一下才可以;

先将xml文件改成当前能调用转码命令的形式,在桌面,叫做Parma1.

这个也能成功转码,设置平均码率提高  分辨率不变  编码方式不变 封装格式改变
ffmpeg -i /opt/DVTS/MRtest/split/Transcoding_0.mp4.split0001.mp4 -b:v 1500k -maxrate 2000k -bufsize 2000k -s 640*360 -r 25 -g 50 -pix_fmt yuv420p -aspect 16:9 -c:v libx264 -x264-params bframes=3 -c:a ac3 -ar 48k -b:a 256k -y /opt/DVTS/MRtest/trans/Transcoding_0.mp4.split0001.mp4.avi
这个也能成功转码,设置平均码率提高  分辨率提高  编码方式改变 (像素点变多,模糊)
ffmpeg -i /opt/DVTS/MRtest/split/Transcoding_0.mp4.split0001.mp4 -b:v 1500k -maxrate 2000k -bufsize 2000k -s 1280*720 -r 25 -g 50 -pix_fmt yuv420p -aspect 16:9 -c:v mpeg4 -c:a ac3 -ar 48k -b:a 256k -y /opt/DVTS/MRtest/trans/Transcoding_0.mp4.split0001.mp4.avi
这个也能成功转码,设置平均码率提高  分辨率提高  编码方式改变 (像素点变少,也模糊)
ffmpeg -i /opt/DVTS/MRtest/split/Transcoding_0.mp4.split0001.mp4 -b:v 1500k -maxrate 2000k -bufsize 2000k -s 320*180 -r 25 -g 50 -pix_fmt yuv420p -aspect 16:9 -c:v mpeg4 -c:a ac3 -ar 48k -b:a 256k -y /opt/DVTS/MRtest/trans/Transcoding_0.mp4.split0001.mp4.avi

猜你喜欢

转载自blog.csdn.net/qq_28619473/article/details/82390301
今日推荐