我通常最终会遇到以下情况:例如,我有一个来自相机的650 MB MPEG-2 .avi视频文件.然后,我使用ffmpeg2theora将其转换为Theora .ogv视频文件,比如说大小为150 MB.最后,我想将此.ogv文件上传到ssh服务器.

比方说,ffmpeg2theora编码过程在我的电脑上花了大约15分钟.另一方面,上传速度约为60 KB / s,大约需要45分钟(150MB .ogv).所以:如果我先编码,并等待编码过程完成 – 然后上传,则需要大约

15 min + 45 min = 1 hr

完成操作.

所以,我认为如果我能以某种方式开始上传,与编码操作并行,那会更好;那么,原则上 – 因为上传过程比传输的字节数/秒更慢(按照生成的字节数/秒) – 上传过程总是“落后”编码的过程,所以整个操作(enc upl)将在45分钟内完成(即上传过程的时间/ – 几分钟取决于线路上的实际上传速度情况).

我的第一个想法是将ffmpeg2theora的输出传递给tee(以便保留.ogv的本地副本),然后将输出进一步传递给ssh – 如下所示:

./ffmpeg2theora-0.27.linux32.bin -v 8 -a 3 -o /dev/stdout MVI.AVI | tee MVI.ogv | ssh user@ssh.server.com "cat > ~/myvids/MVI.ogv"

虽然这个命令确实具有功能 – 人们可以很容易地从ffmpeg2theora中查看终端中的运行日志,在这种情况下,ffmpeg2theora计算预计完成时间为1小时;也就是说,对于两个包含的完成时间来说似乎没有任何好处. (虽然这可能是由于网络拥塞,而且我当时的网络速度越来越低 – 在我看来,ffmpeg2theora必须等待它通过管道发送的每一小块数据的确认,ACK最终必须来自ssh …否则,ffmpeg2theora将无法提供完成时间估计.然后,也许估计是错误的,而操作确实会在45分钟内完成 – dunno,从未有过耐心等待和时间过程;我只是在1小时生气,估计,并按Ctrl-C;)…)

我的第二次尝试是在一个终端窗口中运行编码过程,即:

./ffmpeg2theora-0.27.linux32.bin -v 8 -a 3 MVI.AVI # MVI.ogv is auto name for output

…,以及在另一个终端窗口中使用scp的上传过程(从而’强制”并行化’):

scp MVI.ogv user@ssh.server.com:~/myvids/

这里的问题是:让我们说,在scp启动时,ffmpeg2theora已经编码了5 MB的输出.ogv文件.此时,scp将此5 MB视为整个文件大小,并开始上传 – 当它遇到5 MB标记时退出;而在此期间,ffmpeg2theora可能产生了额外的15 MB,使得.scv文件在scp退出时总大小为20 MB(完成前5 MB的传输).

rsync --partial --progress myFile remoteMachine:dirToPutIn/

…,所以我尝试使用rsync而不是scp – 但它在文件大小方面似乎与scp完全相同,即:它只会传输到在进程开始时读取的文件大小,并且然后它会退出.

所以,我对社区的问题是:有没有办法并行化编码和上传过程,以便减少总处理时间?

我猜可能有几种方法,如:

>命令行选项(我还没有看到)强制scp / rsync连续检查文件大小 – 如果文件打开以供另一个进程写入(那么我可以简单地在另一个终端窗口中运行上载)

>一个bash脚本;比如在while循环中运行rsync –partial,只要.ogv文件被另一个进程打开就可以运行(我实际上并不喜欢这个解决方案,因为我可以听到硬盘扫描恢复点,每个时间我运行rsync –partial – 我想,这可能不是很好;如果我知道同时写入同一个文件)

>支持上传“当前生成的”/“未完成”文件的不同工具(scp / rsync除外)(假设它只能处理不断增长的文件;如果遇到本地文件突然减少,它会退出大小比已传输的字节数大)

…但它也可能是,我忽略了一些东西 – 1小时就好了(换句话说,它可能在逻辑上不可能达到45分钟的总时间 – 即使尝试并行化):)

好吧,我期待着有希望为我澄清这一点的评论;)

提前致谢,

干杯!

linux 上传网页文件大小,Linux:上传未完成的文件 – 文件大小检查(scp / rsync)相关推荐

  1. linux下cp复制目录时排除某些目录的方法分享,CP / SCP / RSYNC 如何在Linux中排除特定目录?...

    对于任何系统管理员或一般Linux操作系统用户而言,在服务器之间执行文件复制操作都是一项常见任务.在将文件从一个系统复制到另一个系统时,由于某些特定原因,我们可能需要排除某些文件和目录被复制.即使在同 ...

  2. linux http查看网页,【Linux C/C++】 第09讲 HTTP协议与浏览器显示网页

    实现多线程文件传输之后,就可以尝试去实现浏览器显示自定义网页 因为浏览器访问服务器端的网页是根据HTTP/HTTPS协议的 这需要先去了解HTTP/HTTPS协议 实际上就是一种数据格式,数据包发送和 ...

  3. pad看linux源码,在 iPad和 iPhone的浏览器上查看网页源代码

    今天使用iPad 处理OA上的问题,有个窗口不能正常工作,想查看一下源码,发现iPad中的 Safari和chrome 没有内置查看源码功能.查了几个资料,遇到的又是没抄全的,下面是safari的设置 ...

  4. scp 传目录_scp linux 传输文件目录

    scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令 scp -r /var/lib/app/src/web 172.16.4.71:/var/l ...

  5. linux 上传网页,Windows和Linux主机FTP上传网页注意事项

    一.Windows主机上传网页文件时应注意以下几点: 1.建议不要使用汉字命名目录及文件. 2.如果您是使用了ACCESS数据库,目前虚拟主机不再支持通过OBDC方式调用数据库,建议您通过Access ...

  6. linux上传数据到sra,通过Linux命令行使用Aspera全速上传测序数据到NCBI数据库

    每试错一次,就离本质就更近一步.----小蓝哥 为什么要上传数据 师姐找我帮忙上传宏基因组数据到NCBI,大概是45G.NCBI提供了很多种可供选择的上传方式: 多丰富多彩的上传方式 没有海外节点 + ...

  7. 怎么linux中创建虚拟路径,linux服务器创建虚拟路径解决文件上传路径隔离问题...

    需求环境 图片上传最简单的就是上传web项目下,这样图片与项目不可分离会产生很多不必要的影响.例如:重新部署项目需要把所有上传的图片再copy一份等. 图片与项目分离有好几种方式: 方式一.在linu ...

  8. 通过h5页面上传视频到Linux服务器

    1. 上传视频到本地 https://www.jb51.net/article/132531.htm 2. 上传视频到Linux服务器 建立ftp连接(保证服务器已经安装ftp及对应端口,帐号有权限) ...

  9. Linux 终端訪问 FTP 及 上传下载 文件

    今天同事问我一个问题,在Linux 下訪问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上. google 一下. ...

最新文章

  1. python[外星人入侵] 项目
  2. Linux(Redhat5.5)配置时间服务器(Ntp)法
  3. 【转】Android必备知识点- Android文件(File)操作
  4. iOS 一个开发者账号 多台Mac 共用
  5. 基于YARN集群构建运行PySpark Application
  6. 【Python】Matplotlib绘图中文乱码问题的解决方案
  7. word中如何将所有字母一次修改成新罗马字体
  8. cogs577. 蝗灾(CDQ)
  9. 蓝桥杯 ALGO-72 算法训练 成绩的等级输出
  10. CentOS 6.5 升级内核 kernel
  11. 神马是敏捷?(3)——敏捷在中国的水土不服
  12. c语言某字符未定义,学习(单片机C语言程序设计实训100例)遇到问题 未定义的标识符 请教解决办法!...
  13. java 进度条 不更新_java进度条不动怎么解决?
  14. OI生涯回忆录(Part5:至初中竞赛生涯完)
  15. multisim安装
  16. 教你语音如何转换成文字的?
  17. php火车票查询,基于php的12306火车票查询接口调用代码实例
  18. AidLearning0.87F3安装Python3.8
  19. 全球医疗实力排名:各国差距有多大?
  20. Camera2 YUV420_888

热门文章

  1. Python实现抓取CSDN博客首页文章列表
  2. 使用nginx简单实现负载均衡
  3. #includeunistd.h存在linux中,含有系统服务的函数
  4. JQ实现仿淘宝条件筛选
  5. 三种banner基础形态
  6. 查看一个定义的方法在哪些地方被使用过(vs2008)
  7. [古诗十九首] 西北有高楼 —— 无名氏
  8. .NET框架程序设计
  9. 零基础入门Python:基本命令、函数、数据结构
  10. “让数据用起来”:解读数据中台必备的4个核心能力