• ffmpeg视频操作记录


    1.截取视频

    ffmpeg -ss  00:00:00 -t 60 -accurate_seek -i 1.mp4 -codec copy 1_out.mp4
    

    -ss 是开始时间
    -t 从开始截取的时间算,截取持续的时间,单位秒
    -i 是源文件
    -codec copy :后面是生成的文件

    2.视频压缩

    ffmpeg -i 1.mp4 -b:v 400k -s 960x540 2.mp4
    

    -i 输入文件的路径或者url;
    -s 设置输出文件的分辨率,wxh;
    -b:v 输出文件的码率,一般500k左右即可,人眼看不到明显的闪烁,这个是与视频大小最直接相关的;
    输出视频的分辨率为960x540,码率为400k
    或者

    ffmpeg -i 1.mp4 -vcodec libx264 -crf 24  2.mp4
    

    3.提取视频中的音频

     ffmpeg -i 1.mp4 -acodec copy -vn 2.aac
    
    提取mp3的最好使用下面格式(音质320kpbs)
    ffmpeg -i test.mp4 -b:a 320k -f mp3 -vn test.mp3
    
    -i 表示input,即输入文件
    
    -f 表示format,即输出格式
    
    -vn表示vedio not,即输出不包含视频
    

    4.音频截取

    ffmpeg -i 325.acc -ss  00:00:00 -t  02:00:00  325_1.acc 
    

    5、视频加字幕,以及错误解决
    https://www.bilibili.com/read/cv11490614/

    shell命令

    @echo off
    rem chcp 65001
    echo 1.截取视频
    echo 2.视频压缩
    echo 3.提取视频中的音频
    echo 4.截取音频
    echo 5.给视频添加字幕
    set /p a=请从1-5中选择想要的功能:
    if %a%==1 goto _f1
    if %a%==2 goto _f2
    if %a%==3 goto _f3
    if %a%==4 goto _f4
    if %a%==5 goto _f5
    :_f1
    set /p start_time=请输入开始时间,按回车键确认,格式:00:00:00,默认是:00:00:00
    if not defined start_time set start_time=00:00:00
    set /p cut_time_length=请输入截取时长单位秒,按回车键确认,默认60s也就是1分钟。
    if not defined cut_time_length set cut_time_length=60
    set /p input_file=请输入源文件路径,按回车键确认。
    set /p output_file= 请输入输出文件路径,按回车键确认。默认output.mp4
    if not defined output_file set output_file=output.mp4
    echo 开始执行
    ffmpeg -ss  %start_time% -t %cut_time_length% -accurate_seek -i %input_file% -codec copy %output_file%
    echo 截取视频完成请确认。
    goto :eof
    :_f2
    set /p input_file=请输入源文件路径,按回车键确认。
    set /p output_file=请输入输出文件路径,按回车键确认。默认output_compress.mp4
    if not defined output_file set output_file=output_compress.mp4
    rem ffmpeg -i %input_file% -vcodec libx264 -crf 24 %output_file%
    rem ffmpeg -i %input_file% -b:v 400k -s 960x540 %output_file%
    ffmpeg  -threads 2 -i %input_file% -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart %output_file% -y
    echo 压缩完成请确认。
    goto :eof
    :_f3
    set /p input_file=请输入源文件路径,按回车键确认。
    set /p output_file=请输入输出mp3文件路径,按回车键确认。默认输出output.mp3到桌面
    if not defined output_file set output_file=output.mp3
    ffmpeg -i %input_file% -f mp3  -b:a 320k -vn %output_file%
    echo 提取完成请确认。
    goto :eof
    :_f4
    set /p input_file=请输入想要截取的音频文件路径,按回车键确认。
    set /p start_time=请输入开始时间,按回车键确认,格式:00:00:00,默认是:00:00:00
    if not defined start_time set start_time=00:00:00
    set /p cut_time_length=请输入截取持续时间,按回车键确认,格式:00:00:00,默认是:00:01:00
    if not defined cut_time_length set cut_time_length=00:01:00
    set /p output_file=请输入输出文件路径,按回车键确认。默认输出output_cut.mp3到桌面
    if not defined output_file set output_file=output_cut.mp3
    ffmpeg -i %input_file% -ss  %start_time% -t %cut_time_length% -acodec copy %output_file%
    echo 截取音频完成请确认。
    goto :eof
    :_f5
    set /p input_file=请输入想要添加字幕的视频路径,按回车键确认。
    set /p text_file=请输入字幕文件路径,格式srt 或者ass。
    set /p output_file=请输入输出文件路径,按回车键确认。默认输出output_captions.mp4到桌面
    if not defined output_file set output_file=output_captions.mp4
    ffmpeg -i %input_file% -vf subtitles='%text_file%' %output_file%
    echo 字幕添加完成请确认。
    pause
    goto :eof
    

    将上面的内容存到ffmpeg_.bat, 然后文件编码改为ANSI运行即可。

  • 相关阅读:
    [leedcode 82] Remove Duplicates from Sorted List II
    [leedcode 83] Remove Duplicates from Sorted List
    [leedcode 81] Search in Rotated Sorted Array II
    [leedcode 80] Remove Duplicates from Sorted Array II
    [leedcode 79] Word Search
    2018 ICPC青岛-books(思维题)
    CodeForces 15A-Cottage Village(思维题)
    CodeForces 755A-PolandBall and Hypothesis(思维题)
    CodeForces
    UVA11624-Fire!(BFS)
  • 原文地址:https://www.cnblogs.com/c-x-a/p/14920916.html
Copyright © 2020-2023  润新知