精华内容
下载资源
问答
  • ffmpeg flv转MP4 一点心得

    万次阅读 2019-01-08 08:39:03
    mp4,仅仅是容器改变了,编码方式几乎没有变化ffmpeg -i input.flv output.mp4 复制代码此过程需要对视频进行重新编码,耗费资源和cpu较为严重,因为我的视频编码和音频编码都为h264 aac,这里就不需要对视频进行重新...

    在使用ffmpeg转码的过程中,由于我的flv文件使用的视频编码是h264,音频是aac,所以转码的过程中flv->mp4,仅仅是容器改变了,编码方式几乎没有变化

    ffmpeg -i input.flv output.mp4
    复制代码

    此过程需要对视频进行重新编码,耗费资源和cpu较为严重,因为我的视频编码和音频编码都为h264 aac,这里就不需要对视频进行重新编码,仅仅需要对文件重新加以MP4容器即可

    所以使用的代码为:

    ffmpeg -i input.flv -vcodec copy -acodec copy output.mp4复制代码

    能够解决大部分计算资源,速度等同于拷贝文件。

    这里提到主要是大部分的网站都没有提到这个事情,希望能够给需要的人有所帮助。


    转载于:https://juejin.im/post/5c346078e51d4551de1d8a92

    展开全文
  • 虽然本文是以FLV转MP4为例,但同样适用于其他类型视频文件的转换,包括WebM、AVI和WMV。编码简介FLV格式发布于2002年,一经推出便迅速成为了网页默认的视频格式,是第一个在互联网上被广泛使用...

    最近在下载直播视频时,大器发现下载的视频是FLV格式,在快进或者拖动播放进度条时,视频图像会卡住不动很长时间,极大影响观看体验。解决FLV播放问题的方法是将FLV转换为大部分设备都支持的MP4格式。虽然本文是以FLV转MP4为例,但同样适用于其他类型视频文件的转换,包括WebM、AVI和WMV。

    编码简介

    FLV格式发布于2002年,一经推出便迅速成为了网页默认的视频格式,是第一个在互联网上被广泛使用的视频格式。

    随着移动设备成为互联网的主力军,HTML5取代了大多数网页中的Flash,MP4取代了FLV容器,MP4成为视频的事实标准。由于FLV文件只能在基于Flash的视频播放器中播放,Flash被淘汰后,FLV文件要想在移动设备或者不带Flash的浏览器中播放的话,需要将FLV转为MP4格式。

    要对视频进行格式转换有非常多的工具,比较常用的是格式工厂(FormatFactory),但绝大部分工具都基于FFmpeg或者使用了FFmpeg的编解码库。直接使用FFmpeg可以更灵活地实现我们的需求。

    在使用FFmpeg工具前需要先下载并在电脑中配置好,具体操作方法可以查看大器之前的文章《FFmpeg安装配置指南》。

    目前常见的MP4文件的视频和音频编码方式分别为H.264和AAC。H.264与MPEG-2和MPEG-4编码相比,在同等图像质量条件下压缩率更高,还能提供连续、流畅的高质量图像(相当于DVD质量)。AAC编码能够保证完美的音质,极高的压缩比。AAC与MP3相比,增加了对立体声的完美再现、降噪等特性,再现CD的音质。

    9a0f9d9c8c487508712159317b0a9209.png

    FLV容器可以存储多种视频和音频编码,视频编码主要有Sorenson Spark、VP6、H.264,音频编码主要有Nellymoser Asao、Speex、MP3。可以通过以下命令查看FLV文件的视频和音频编码:

    ffmpeg -i video.flv

    然后可以在输出信息中找到以下信息:

    Input #0, flv, from 'video.flv':  Duration: 02:02:07.46, start: 3758.107000, bitrate: 1007 kb/s    Stream #0:0: Audio: aac (HE-AAC), 44100 Hz, stereo, fltp    Stream #0:1: Video: h264 (High), yuv420p(tv, smpte170m, progressive), 720x1280, 2000 kb/s, 15 fps, 15 tbr, 1k tbn

    编码转换

    实际上编码转换可以只用下面的第四种命令,但是对相同编码的流重新编码会损失数据,并且花费更长的时间。根据FLV源文件的编码格式,FLV转MP4可分为以下四种情况:

    1. H.264视频编码和AAC音频编码

    如果FLV文件的编码分别为H.264和AAC,直接将视频和音频流复制到MP4即可。此命令仅仅改变数据流的容器而无需重新编码,视频和音频质量相同,文件大小基本保持不变,并且处理速度最快。

    ffmpeg -i video.flv -codec copy video.mp4

    2. H.264视频编码和非AAC音频编码

    直接复制视频流,音频流会自动按MP4的标准重新编码。此命令会对音频质量造成损失,文件大小可能有一些差异,处理速度一般。

    ffmpeg -i video.flv -vcodec copy video.mp4

    对于音频流可以使用-ar指定采样率(kHz),-ac指定声道数量(1:单声道,2:双声道)

    ffmpeg -i video.flv -ar 44100 -ac 2 -vcodec copy video.mp4

    3. 非H.264视频编码和AAC音频编码

    直接复制音频流,视频流会自动按MP4的标准重新编码。此命令会对视频质量造成损失,文件大小可能有较大差异,处理速度较慢。实际上这种规格的文件是非常罕见的。

    ffmpeg -i video.flv -acodec copy video.mp4

    4. 非H.264视频编码和非AAC音频编码

    如果FLV文件的视频编码不是H.264并且音频编码不是AAC,那么视频和音频需要按MP4的标准重新编码。此命令会对视频和音频质量造成损失,文件大小可能有很大差异,处理速度最慢。

    ffmpeg -i video.flv video.mp4

    了解FFmpeg的输出信息

    FFmpeg在运行过程中会输出以下信息:

    • FFmpeg的版本号和详细的构建命令
    • 输入流的信息 (类型,码率,帧率,采样率,声道数)
    • 输出流的信息
    • 输入输出流的对应关系 (复制和转码的情况)
    • 转换的统计数据 (时间,码率等)
    94f01c1ceae57c2006e7a3ece8d435fc.png

    我是大器,正在建立自己的知识库,并将这些经验分享给你,请关注我,一起交流学习。

    展开全文
  • mp4 flv参考资料: https://addpipe.com/blog/flv-to-mp4/ffmpeg -i demo.mp4 -c:v libx264 -crf 19 demo.flv 或者ffmpeg -i demo.mp4 -c:v libx264 -ar 22050 -crf 28 demo.flv 或者ffmpeg -i demo.mp4 -c:v ...

    ① mp4 转 flv

    参考资料: https://addpipe.com/blog/flv-to-mp4/

    ffmpeg -i demo.mp4 -c:v libx264 -crf 19 demo.flv 或者

    ffmpeg -i demo.mp4 -c:v libx264 -ar 22050 -crf 28 demo.flv 或者

    ffmpeg -i demo.mp4 -c:v copy -c:a copy demo.flv

    可以对多个文件进行批量处理

    ls *.mp4 | cut -d"." -f1 | xargs -t -i ffmpeg -i {}.mp4 -c:v libx264 -ar 22050 -crf 28 {}.flv

    ls *.rmvb | cut -d"." -f1 | xargs -t -i ffmpeg -i {}.rmvb -c:v libx264 -ar 22050 -crf 28 {}.flv

    ② hls 转 mp4

    ffmpeg -i "http://1252057090.vod2.myqcloud.com/22330.m3u8" -bsf:a aac_adtstoasc -vcodec copy -c copy -crf 24 out.mp4

    ③ mp4 转 加密 hls (参考)

    1.准备源文件

    out.mp4

    2.创建文件 video.key(AES-128 in CBC mode)(http://tool.chacuo.net/cryptaes)

    UWlkFn56SgYui9vTHFsnfg==

    3.创建文件 key_info (与本地地址)

    http://localhost:8181/encrypt/video.key # 远程key地址

    video.key #本地地址

    4.创建文件夹 output

    5.执行转换命令

    ffmpeg -i out.mp4 -vf scale=w=1280:h=720:force_original_aspect_ratio=decrease -c:a aac -ar 48000 -b:a 128k -c:v h264 -profile:v main -crf 20 -g 48 -keyint_min 48 -sc_threshold 0 -b:v 2500k -maxrate 2675k -bufsize 3750k -hls_time 10 -hls_playlist_type vod -hls_segment_filename B2/720p_%03d.ts -hls_key_info_file key_info output/playlist.m3u8

    ④ ffmpeg 录屏

    ffmpeg -r 30 -f x11grab -s 1920x1080 -i :0.0 -qscale 1 demo.flv

    说明:

    捕捉整个屏幕 -f x11grab -i :0

    捕捉指定窗口 xwininfo 获取左上角窗口坐标,比如 809x518 +1100+531

    ffmpeg -r 30 -f x11grab -s 809x518 -i :0.0+1100,531 -qscale 1 demo.flv

    其中 :0.0+1100,531 表示距离编号为0的屏幕 左1100右531

    end

    展开全文
  • ffmpeg实现flvmp4格式转换的bat脚本 在当前目录下实现flvmp4格式的批量转换 bat脚本 for %%i in ("*.flv") do ffmpeg -i %%i -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" %%~ni.mp4 命令行 for %i in ("*.flv") do ...

    在当前目录下实现flv至mp4格式的批量转换
    bat脚本

    for %%i in ("*.flv") do ffmpeg -i %%i -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" %%~ni.mp4
    

    命令行

    for %i in ("*.flv") do ffmpeg -i %i -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" %~ni.mp4
    
    1. ffmpeg
      flv至mp4的转换的简单形式
    ffmpeg -i input.flv output.mp4
    
    1. bat脚本中的for循环
      在cmd窗口中:for %i in (command1) do command2
      在批处理文件中:for %%i in (command1) do command2
      %%i是for中对形式变量的引用,即使变量ido后的语句中没有参与语句的执行,也是必须出现的。
      for循环提取command1中的一个元素,并将值赋给形式变量i,再执行command2,此即完成一次循环,直至command1中的元素全被提取为止。
      使用%%~ni可以去除变量i中的扩展名。
    for %%i in ("*.flv") do ffmpeg -i %%i %%~ni.mp4
    
    1. 预防 width / height not divisible by 2 的错误出现
      由于原flv文件的长或宽为奇数时,ffmpeg无法处理,因此需要增加如下内容,对pad的大小进行设置。
    -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2"
    
    1. 参考文献
      Windows bat脚本——for循环用法详解(一)
      ffmpeg转换flv为mp4
      bat 批处理 命令快速入门
      FFMPEG (libx264) “height not divisible by 2”
    展开全文
  • 虽然本文是以FLV转MP4为例,但同样适用于其他类型视频文件的转换,包括WebM、AVI和WMV。编码简介FLV格式发布于2002年,一经推出便迅速成为了网页默认的视频格式,是第一个在互联网上被广泛使用...
  • cmdcd c:\ffmpegffmpeg -i E:\a.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 E:\1.flv------以下内容自随州部落,作者为风吹着------ffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s...
  • How to convert a video file in format as flv to mp4 with ffmpeg? 如何使用ffmpeg 将格式为flv的视频文件转换为mp4? You may use method from here: ...
  • ffmpeg 转换 mp4flv

    2018-01-04 01:27:00
    参考资料: ...ffmpeg -i demo.mp4 -c:v libx264 -crf 19 demo.flv 或者 ffmpeg -i demo.mp4 -c:v libx264 -ar 22050 -crf 28 demo.flv 或者 ffmpeg -i demo.mp4 -c:v copy -c:a copy...
  • mp4转flv格式文件步骤如下:1.打开输入文件,创建输入文件和输出文件的上下文环境2.遍历输入文件的每一路流,每个输入流对应创建一个输出流,将输入流中的编解码参数直接拷贝到输出流中。3.文件的写入。先写入新的...
  • 视频格式flv在网页上播放视频很方便,有很多基于flash的开源播放器可以使用,随着...这时候做系统升级的时候就有必要将flv格式的视频转换为mp4的视频以适应html5视频播放,这时候就用到ffmpeg这个工具了。 在red...
  • 需求之前拿python写了个合并flv文件为mp4的脚本,运行感觉有点慢,用go重写下注意事项flv文件直接合并生成mp4的话只有第一个flv的内容才能播放,需要先转换成ts再合成mp4命令行调用ffmpeg,需要自己另外安装,并配置...
  • 注意事项flv文件直接合并生成mp4的话只有第一个flv的内容才能播放,需要先转换成ts再合成mp4使用的第三方库ffmpy,只是简单封装了命令行参数,ffmpeg还是需要自己另外安装,并配置环境变量的-loglevel quiet是调用...
  • ffmpeg转换mp4flv的命令

    万次阅读 2017-11-27 17:58:18
    -i source.mp4 -c:v libx264 -ar 22050 -crf 28 destinationfile.flv -crf XXis the quality of the video you will create. It's between 0 and 51 (but between 17 and 23 is a reasonable ra
  • 最近做一个小项目,要在线播放录制的 MP4 视频,想开源的 flash player 或 html 5 可以播放。...FFmpeg网上一搜索,就找到了大名鼎鼎的 FFmpeg,好像 google 的 youtube 后台也是用的这个转码,国内的很...
  • <div><p>Uncaught (in promise) RangeError: Invalid array buffer length at new SharedArrayBuffer ()</p><p>该提问来源于开源项目:ErosZy/WXInlinePlayer</p></div>
  • 1.首先下载ffmpeg https://www.ffmpeg.org/download.html 2.将刚刚下载的压缩包解压 3.将解压好的文件放在固定的位置,然后复制bin目录路径(如:E:/ffmpeg/bin) ...ffmpeg -i "input.flv" -c copy "output.mp4
  • ffmpegMP4转flv

    2019-12-23 14:57:40
    源资源来自教程,来自慕课网李超,本人仅仅是添加注释 #include <libavutil/timestamp.h> #include <libavformat/avformat.h> static void log_packet(const AVFormatContext *fmt_ctx, const ...
  • //ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等) if (type.equals("avi")) {return 0; }else if (type.equals("mpg")) {return 0; }else if (type.equals("wmv")) {return 0; }else if ...
  • FFmpeg 视频(非RM、RMVB)转FLV-附教程、FFMpeg组件、mp4视频。绝对简单,绝对能用!!!
  •  ffmpeg -i testrmvb.rmvb -c:v libx264 -strict -2 testrmvb.mp4 2.java批量转换   public static void dirGoThrough(){ File baseDir=new File("/home/wwwroot/www/shs/upload/file/");//遍历的文件夹
  • FFmpegmp4转flv

    2019-12-10 22:35:38
    mp4转flv格式文件步骤如下: 1.打开输入文件,创建输入文件和输出文件的上下文环境 2.遍历输入文件的每一路流,每个输入流对应创建一个输出流,将输入流中的编解码参数直接拷贝到输
  • 1. 下载安装 ffmpeg http://ffmpeg.org/download.html#build-windows windows下载编译之后的exe文件,放到path环境变量中. Linux 下 tar xvf xxx.tar.bz2 ./configure --prefix=/usr/local/ffmpeg make -j2 ...
  • ffmpeg转换mp4flv的使用笔记

    千次阅读 2014-03-13 16:44:47
    假定ffmpeg.exe位于C:\ffmpeg目录下面。...ffmpeg -i E:\a.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 E:\1.flv ------以下内容自随州部落,作者为风吹着------ ffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 5
  • flv转MP4

    2019-04-09 23:45:54
    ffmpeg官网下载软件 ffmpeg 解压后打开bin,把三个可执行文件复制到C:\Windows\system32 打开CMD,cd 到指定文件夹 for %i in (*.flv) do ffmpeg -i “%i” -c copy “%~ni.mp4” ...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 293
精华内容 117
关键字:

ffmpegflv转mp4