我avconv用于修剪和转换视频。假设我想删除视频流的前 7 秒和后 2.5 秒以及一小时mts文件的一个音频流:
avconv -i input.mts -map 0:0 -map 0:3 -ss 0:0:07 -t 0:59:50.5 out.mov
Run Code Online (Sandbox Code Playgroud)
到目前为止,这有效,但现在我想通过添加以下内容在开头和结尾添加两秒钟的淡入淡出:
-vf fade=type=in:start_frame=350:nb_frames=100 -vf fade=type=out:start_frame=178750:nb_frames=100
Run Code Online (Sandbox Code Playgroud)
这些帧是使用avconv为视频源报告的 50 fps 计算的。但是既没有淡入也没有淡出。
1) 视频淡入淡出是什么问题,如何正确处理?2) 如何添加音频淡入淡出。似乎有一个-afade选择。但我没有发现它被记录在案。
或者,您可以为此目标提出不同的工具(修剪和淡化视频和音频),最好作为 Debian 8 的软件包提供。
我有一个带有多个分区的 SSD 磁盘。其中之一是有一个 btrfs 卷,安装为/home,其中包含一个 ecryptfs 主目录。
当我修剪卷时,似乎 fstrim 不会修剪此类卷上的数据块 - 为什么?您可以在下面看到有关设置的所有信息,以及我遵循的步骤,以及注释。
$ cat /etc/fstab:
UUID=xxx / ext4 errors=remount-ro 0 1
UUID=yyy /media/vfio ext4 defaults 0 2
UUID=zzz /home btrfs defaults 0 2
Run Code Online (Sandbox Code Playgroud)
$ mount | grep sda:
/dev/sda5 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/sda1 on /media/vfio type ext4 (rw,relatime,stripe=32721,data=ordered)
/dev/sda2 on /home type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/)
Run Code Online (Sandbox Code Playgroud)
$ ls -la /home /home/myuser/.Private # summary:
/home:
.ecryptfs
myuser
/home/myuser/.Private -> /home/.ecryptfs/myuser/.Private
Run Code Online (Sandbox Code Playgroud)
$ df -h:
Filesystem Size …Run Code Online (Sandbox Code Playgroud) 如果我们想在 SSD 驱动器上使用交换分区,就会出现问题。我认为,如果可以修剪释放的交换空间会更好(对于 SSD),因为修剪未使用的块使底层 SSD 电子设备能够调整其磨损均衡。
谷歌似乎对此事保持沉默。
或者,常规的blkdiscard命令(并使用 mkswap 重新创建交换空间)将是一种可行的解决方法,尽管它不是最佳方法。
建议启用每周运行一次的 TRIM cron 作业。当调用 fstrim 命令时,文件系统会将 TRIM 信息发送到驱动器以丢弃已删除的数据(我希望我做对了)
到目前为止一切顺利,这在很多地方都有描述。
但是我找不到任何关于这些 TRIM 信息如何/在哪里“存储”在 fstrim 命令之间的文件系统中的信息?
并且可以以某种方式“清除”这些 TRIM 信息,以便 SSD 不会获得所有必须丢弃的页面/块的信息?
或者 fstrim 命令会比较文件系统和 SSD 哪些数据实际上被删除了?
到目前为止,我一直在使用以下命令将音频文件从 S 拆分为 E:
ffmpeg -i input.mp3 -ss S -to E -c copy output.mp3
Run Code Online (Sandbox Code Playgroud)
由于我需要将一个音频文件分成多个段,每个段都有不同的长度,因此我必须多次使用上述命令来处理单个文件。
那么,有没有办法使用ffmpeg,但仅使用一个命令将单个音频文件拆分为多个片段?请注意,这些段的长度不同。