日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

ffmpeg实现视频文件合并/截取预览视频/抽取音频/crop(裁剪)(ffmpeg4.2.2)

發布時間:2023/12/13 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 ffmpeg实现视频文件合并/截取预览视频/抽取音频/crop(裁剪)(ffmpeg4.2.2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,ffmpeg的安裝

請參見:

https://www.cnblogs.com/architectforest/p/12807683.html

說明:劉宏締的架構森林是一個專注架構的博客,地址:https://www.cnblogs.com/architectforest

對應的源碼可以訪問這里獲取:https://github.com/liuhongdi/

說明:作者:劉宏締 郵箱: 371125307@qq.com

二,ffmpeg的使用例子: 音頻/視頻的提取/合并

1,提取去除音頻的視頻流(靜音視頻)

#-an :disable audio:關閉音頻流

#-vcodec:指定視頻解碼器:值為copy時,復制視頻流

[root@blog 1]# ffmpeg -v quiet -i 8_9f6fa300bacded7b.mp4 -y -vcodec copy -an /data/dev/think_file/html/8_mute.mp4

2,提取音頻

#-vn:disable video ,關閉視頻流

#-acodec:指定音頻解碼器:值為copy時,復制音頻流

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -y -vn -acodec copy /data/dev/think_file/html/8.m4a

說明:注意格式:從mp4中直接提取mp3格式可能會報錯,

提取成m4a格式沒有問題

3,把音頻文件和靜音的視頻文件合并成一個正常的視頻文件

#-c codec:指定codec name

#如果值是copy,表示拷貝所有的流

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -i /data/dev/think_file/html/8.m4a -c copy /data/dev/think_file/html/8_m.mp4

三,ffmpeg的使用例子:合并兩個視頻文件

1,合并多個視頻文件

查看兩個文件的寬/高/長度

6_1351031b24838211.mp4的時長

[root@blog 1]# ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=duration 6_1351031b24838211.mp4
120.086633

6_1351031b24838211.mp4的寬度

[root@blog 1]# ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=width 6_1351031b24838211.mp4
640

6_1351031b24838211.mp4的高度

[root@blog 1]# ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=height 6_1351031b24838211.mp4
360
5_d3958808f0a5da07.mp4的高度
[root@blog 1]# ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=height 5_d3958808f0a5da07.mp4
360
5_d3958808f0a5da07.mp4的寬度
[root@blog 1]# ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=width 5_d3958808f0a5da07.mp4
640
5_d3958808f0a5da07.mp4的時長
[root@blog 1]# ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=duration 5_d3958808f0a5da07.mp4
215.281733

合并:

生成視頻列表文件

[root@blog 1]# more con653.txt

內容

file '6_1351031b24838211.mp4'
file '5_d3958808f0a5da07.mp4'

連接兩段視頻

[root@blog 1]# ffmpeg -f concat -i con653.txt -c copy /data/dev/think_file/html/653.mp4  

查看新生成視頻的時長:

[root@blog 1]# ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=duration /data/dev/think_file/html/653.mp4

335.409733

注意:合并之前,要保持兩個視頻文件的寬高相同,不同width height會報錯

四,ffmpeg的使用例子:截取視頻片斷作為預覽視頻

查看原視頻文件的大小:

[root@blog 1]# ll -h 8_9f6fa300bacded7b.mp4
-rw-r--r-- 1 nginx nginx 7.4M Mar 29 03:47 8_9f6fa300bacded7b.mp4

#-ss:開始時間

#-t:持續的秒數

#-c:a copy:copy視頻

#-s:指定畫面的寬高

[root@blog 1]# ffmpeg -ss 00:00:30 -t 20 -i 8_9f6fa300bacded7b.mp4 -c:a copy -s 320x180 /data/dev/think_file/html/8_pre2.mp4

查看預覽視頻文件的大小:

[root@blog 1]# ll -h /data/dev/think_file/html/8_pre2.mp4
-rw-r--r-- 1 root root 1.3M May  1 17:50 /data/dev/think_file/html/8_pre2.mp4

五,ffmpeg使用例子:crop裁剪視頻:

看一個例子:我們裁剪掉視頻兩側的黑邊

原視頻的截圖:

#crop=w=100:h=100:x=12:y=34

w:指定寬度

h:指定高度

x:指定左側的pos

y:指定頂部的pos

[root@blog html]# ffmpeg -i 8_rpi2.mp4 -vf crop=360:360:140:0 -c:a copy 360.mp4

查看生成的截圖:

六,查看ffmpeg的版本

[root@blog html]# ffmpeg -version
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (GCC)

七,查看centos的版本

[root@blog html]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

總結

以上是生活随笔為你收集整理的ffmpeg实现视频文件合并/截取预览视频/抽取音频/crop(裁剪)(ffmpeg4.2.2)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。