ffmpeg转码 ffmpeg转码进度怎么看
2024-11-10 09:53 - 立有生活网
Electron实现跨平台视频播放器
2.本地拉流MP4文件最近在看英文字幕的,听力水平一般,有些字幕对话想多回放几遍。这个是一个比较小众的需求,发现目前的播放器都不支持。于是就想自己实现个有字幕回放功能的播放器。跨平台的开源播放器,比如VLC、MPV,开发的门槛都挺高的。如果能用Electron做播放器的话,添加一些个性的功能,应该会比较简单,写一些html、js就可以。使用Electron制作播放器碰到的问题是,H5
ffmpeg转码 ffmpeg转码进度怎么看
ffmpeg转码 ffmpeg转码进度怎么看
为什么我的爱奇艺视频加字幕乱码?
ffmpeg -y -i rtsp:192.168.1.188:8089test -vcodec copy -acodec copy -f mp4 e:x.mp4如果您从外部来源导入中文字幕,可能会出现乱码问题。这通常是因为文件编码不兼容或字幕文件与视频文件不匹配导致的。
要解决这个问题,您可以尝试以下方法:
2. 确认字幕文件与视频文件匹配:如果您从不同的来源分别获得了字幕文件和视频文件,那么需要确认这两个文件是否匹配。如果不匹配,可以尝试寻找正确的字幕文件或者将字幕文件与视频文件手动同步。
3. 使用字幕编辑器:您可以使用一些字幕编辑器软件(如Subtitle Edit、Aegisub等)打开字幕文件,然后将乱码字符手动更正为正确的中文字符。
4. 使用转码工具:如果您导入的视频文1. 确认文件编码:确认您导入的中文字幕文件编码是否与您的视频文件兼容。常见的字幕编码格式包括UTF-8和GBK,如果您不确定,可以尝试将字幕文件的编码格式更改为与视频文件相同的编码格式。件和字幕文件的格式不同,可以尝试使用一些转码工具(如FFmpeg、Handbrake等)将视频文件和字幕文件转换为相同的格式,并确保字幕文件的编码格式与视频文件兼容。
如果以上方法无法解决乱码问题,您可以尝试在其他设备或软件上播放视频,或者寻找其他来源的中文字幕。
FFmpeg之Linux下编译与调试
下面的一切都是在 root 模式下进行的,可以不再 root 模式下进行
基础环境就是编译代码的基础库,Ubuntu联网安装软件很简单,一个语句即可搞定,这里列出语句如下:
依赖库分两方面,参考以下网站列出的依赖库信息,本文选择的版本均参考于此网页: FFmpeg依赖库ffmpeg –i video_file –i audio_file –vcodeccopy–acodeccopyoutput_file信息
首先创建 FFmpeg 代码目录,所有的源代码放在这个目录下
FFmpeg 编译之后,即可使用。编译生成的可执行程序在 ~/bin 目录下
注:上面的 ./configure 配置编译后并不能进行调试,需要如下配置.
刚才的工程可以运行,但不能debug。解决此问题,首先认定一点,生成的可执行程序中,ffmpeg 不包含调试信息,调试信息在 ffmpeg_g 中,debug 要选择 ffmpeg_g。
另外,./config选项也是确定包含调试信息的核心,需要在config中添加:
采用以下命ffmpeg–itest.mp4 –vcodeccopy–an–fm4vtest.264ffmpeg –itest.i –vcodeccopy–an–fm4vtest.264令重新config:
一些注意事项; 在使用 ffplay 播放生成 h264 格式的视频时,播放速度会加快,解决方式:不要使用 FFmpeg 转码生成纯 h264 格式的视频,要使用一种容器包含 h264 视频,即生成一种音视频流格式,也就是不要生成纯粹的 h264 码流,而是生成诸如 mkv 等格式的文件。
如何利用VLC或FFMPEG将HTTP的串流转换成RTMP
这个只能够推桌面。这个应用主要是将HTTP的串流(RTMP 串流非HLS或DASH)转换成RTMP协议传送到Adobe Flash Media 或Wowza Media 的媒体。
RTMP的协议有以下的参数:
RTMP: 其原始采用TCP port 1935
RTMPE: 采用Adobe所提供给RTMP所发展的加密版本。
RTMPT: 在RTMP上加挂he RTMP protocol 封装在HTTP请求中,可以穿越防火墙。这是一个很不错的协议,使用TCP端口80和443绕过公司对防火墙。封装的会话可能携带纯RTMP,RTMPS或RTMPE包内。
VLC 在 2.0.x版本里可以支持RTMP协议。不过,有些环境却没法执行,例如2.0.2, 2.0.3, 2.0.4, 2.0.6在Windows 2008 64的上确实没法执行。可以开启VLC然后开启网络串流,如“RTMP://.bbb:1935/live/串流源“,看看可否开启。主要是VLC 2.0.x采用 ffmpeg/lib的程序库,但是, 有的包装却没法支持。所以必须先做确认。当 librtmp 的支持被启动于 ffmpeg/lib 则RTMPS才可以有功用。
可以的。用千千静听、GOLDWAVE、全能音频转换通都可以。 用千千静听转换的步骤: 把要转换的歌曲添加进千千的媒体库, 右键单击歌曲名--转换格式--默认就是输出MP3格式。 如果需要多首同时转换,只需要按住CTRL键
如何用ffmpeg将rtsp视频流录制成mp4文件?
5.视频剪切-bf B帧数目控制提取mpeg4的视频流,使用ffmpeg的format功能,保存为mp4文件。
FFmpeg常用推流命令
public static void main(String[] args) {首先确保自已已经安装了nginx + rtmp。
import ja.util.;打开配置文件nginx.conf
完成如下配置
nginx配置.1
如果没有nginx + rtmp,请阅读我的另一篇文章
Mac搭建nginx+rtmp
二、FFmpeg推流
1.推流MP4文件
推流拉流地址:rtmp://localhost:1935/rtmplive/home
acc:RTMP的音频格式
flv: RTMP的视频格式
ffmpeg -re -i /Users/xu/Desktop/bangbangbang.mp4-vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/rtmplive/home
设置推流.2
输入命令行后,暂时先不要点回车,等设置好本地拉流后,再进行推流。
打开VLC播放器
VLC.3
设置播放地址
设置播放地址.4
设置拉流地址
rtmp://localhost:1935/rtmplive/home
拉流地址.5
开始推流,点击open后开始播放。
FFmpeg推流成功.6
推流成功!
三、用ffmpeg推流桌面以及推流摄像头进行直播
1.如果希望将桌面录制或者分享,可以使用命令行如下:
ffmpeg -f foundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://localhost:1935/rtmplive/home
2.如果需要桌面+麦克风,比如一般做远程教育分享 命令行如下:
ffmpeg -f foundation -i "1:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/rtmplive/home
这个可以推桌面+麦克风。
3.如果需要桌面+麦克风,并且还要摄像头拍摄到自己,比如一般用于互动主播,游戏主播,命令行如下
ffmpeg -f foundation -framerate 30 -i "1:0" -f foundation -framerate 30 -video_size 640x480 -i "0" -c:v libx264 -preset ultrafast -filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/rtmplive/home
这个可以推桌面+麦克风,并且摄像头把人头放在界面下面
Snip20160713_12.png
四、FFmpeg常用基本命令
ffmpeg -i input_file -vcodeccopy-an output_file_video//分离视频流ffmpeg -i input_file -acodeccopy-vn output_file_audio//分离音频流
ffmpeg –i test.mp4 –vcodec h264 –s352278–an –f m4v test.264//转码为码流原始文件ffmpeg –i test.mp4 –vcodec h264 –bf0–g25–s352278–an –f m4v test.264//转码为码流原始文件
ffmpeg –i test.i -vcodec mpeg4 –vtag xvid –qsame test_xvid.i//转码为封装文件
-g 关键帧间隔控制
-s 分辨率控制
4.视频封装
ffmpeg –i test.i –r1–f image2 image-% -ss0:1:30-t0:0:20-i input.i -vcodec copy -acodec copy
-r 提取图像的频率
-ss 开始时间
-t 持续时间
6.视频录制
ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.i
7.YUV序列播放
ffplay -f rawvideo -video_size1920x1080 input.yuv
ffmpeg–swh–pix_fmtyuv420p–iinput.yuv –vcodecmpeg4output.i
9.常用参数说明:
主要参数:
i 设定输入流
f 设定输出格式
ss 开始时间
视频参数:
b 设定视频流量,默认为200Kbit/s-r 设定帧速率,默认为25
s 设定画面的宽与高-aspect 设定画面的比例
vn 不处理视频-vcodec 设定视频编,未设定时则使用与输入流相同的编
ac 设定声音的Channel数
acodec 设定声音编,未设定时则使用与输入流相同的编an 不处理音频
ffmpeg decode, encode, transcode, mux, demux, stream, filter的区别
2.视频解复用1)windows平台static library/shared library, 编译工具:mingw-gcc或者在linux平台下交叉编译()
2)linux平台static library/shared library, 编译工具:gcc
模块:
libcodec - 编码
libdev - 输入输出设备的支持
libfilter - 视音频滤镜支持
libformat - 视音根据: “Real Time Messaging Protocol (RTMP) was initially a proprietary protocol dloped by Macromedia for streaming audio, video and data over the Internet, between a Flash player and a server. Macromedia is now owned by Adobe, which has released an incomplete version of the specification of the protocol for public use.”频等格式的解析
libutil - 工具库
libtproc - 后期效果处理
libswscale - 图像颜色、尺寸转换
ffmpeg转码在安卓平台运行速度过慢.各位有优化方法吗
1.分音频参数:离视频音频流说到运行速度,一般是CPU越好的运行越快,比如那些四核,包括三星的i9300、htc的one X 、小米2、oppo finder 5、魅族 MX2等等 当然运行速度还跟系统的优化有关系,一般大厂商的系统的优化都不错 建议你可以多考虑一下国产的,支持国货。MIUI是优化的很不错的国产系统
使用JAVA调用ffmpeg组件进行视频转换时不成功
3.视频转码以我的经验
8.YUV序列转AVIffmpeg 转换 flv 格式需要libx264库的支持,而不是一般的直接转码命令
形如:ffmpeg -i xxx.i -vcodec libx264 -an xxx.flv
请教一个ffmpeg 转码报错的问题
我需要一个ffpeg命令同时完成每五秒截图和转换为flv格式的视频测试使用ffmpeg-i1.rmvb-ya.flv-r0.2-s220x168-b1200-yb%d.jpg这样是没有问题,能够同时转换.但是正式调用的时候,会在视频前面加上转换参数,执行语句是ffmpeg-i3.rmvb-acodeclibfaac-ab65536-vcodeclibx264-fpre/usr/share/ffmpeg/libx264-hq.ffpreset-b400k-bt400k-threads0-ya.flv-r0.2-b1200-s220x168-ss0-yjpg.%d.jpg这个时候ffmpeg会报错,说ffmpegbitratetolerancetooallforbitrate码率太小,并且提示码率不合适。是视频的什么参数导致的这个错误出现啊,当我先截图后转换视频的时候,因为-r与-s也会在转换视频的时候起作用,导致视频转换的宽高和帧率不是原始值了请问怎么解决这个问题啊。ffmpeg-id:a.flv-vcodeclibx264-b110k-minrate110k-maxrate110k-bufsize110k-r12-acodeclibfaac-ab12k-ar8000-ac1-s176x144-padtop0-padbottom0-padleft0-padright0test.3gp我用这个代视频文件地址:/Users/xu/Desktop/bangbangbang.mp4码转3GP结果错误是Seemsthatstream0comesfrar 设定采样率omfilmsource:1000.00(1000/1)->15.00(15/1)Input#0,flv,from'd:a.flv':Duration:N/A,bitrate:N/AStream#0.0:Video:Stream#0.1:Audio:0x000a,44100Hz,stereoFile'test.3gp'alreadyexists.Overwrite?[y/N]yOutput#0,3gp,to'test.3gp':Stream#0.0:Video:h263,176x144,12.00fps,q=2-31,110kb/sStream#0.1:Audio:amr_nb,8000Hz,mono,12kb/sStreammapping:Stream#0.0->#0.0Stream#0.1->#0.1[h263@0075C780]removingcommonfactorsfromframerateUnsupportedcodec(id=0)forinputstream#0.0请问哪位大侠告诉我一声了,我邮箱地址是wangming419@gmail谢谢!
linux 上ja调用ffmpeg转码只有几秒长
commen一、FFmpeg推RTMP流准备工作d.add("128");import ja.io.File;
import ja.io.IOException;
import ja.util.ArrayList;
import ja.util.List;
import ja.io.;
import ja.lang.;
import ja.text.;
import ja.;
public class Test {
List
commend.add("/usr/local/ffmpeg2/bin/./ffmpeg");
commend.add("-i");
commend.add("/opt/spzh/yysp.i");
commend.add("-ab");
commend.add("-acodec");
commend.add("libfaac");
commend.add("-ac");
commend.add("1");
commend.add("-ar");
commend.add("22050");
commend.add("-r");
commend.add("24");
commend.add("-y");
commend.add("/opt/spzh/out/yysp18.flv");
StringBuffer test=new StringBuffer();
for(int i=0;i test.append(commend.get(i)+" "); System.out.println(test); try { Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(test.toString()); InputStream stderr = proc.getErrorStream(); InputStreamReader isr = new InputStreamReader(stderr); BufferedReader br = new BufferedReader(isr); String line = null; while ( (line = br.readLine()) != null); } catch (IOException e) { e.printStackTrace(); }System.out.println("视频转换成功"); }}
四川测绘地理信息局在哪里 四川测绘地理信息
关于四川省测绘地理信息局的问题,求知情人解答 局里是机关,有编制有事业单位编制。 四川测绘地理信息局在哪里 四川测绘地理信息局在哪里查成绩 四川测绘地理信息局在哪里 四川测绘地理信···
芥酸酰胺价格走势图 芥酸酰胺生产厂家
芥酸酰胺的介绍 芥酸酰胺作为芥酸的重要衍生物,是一种应用范围广泛的优良精细化工产品。由于它具有较高的熔点和良好的热稳定性(在273℃下稳定),因而主要用作各种塑料、树脂的抗粘剂和滑···
高三物理必背知识点整理(1)
高三物理必背知识点整理 【 #高三# 导语】高三学生很快就会面临继续学业或事业的选择。面对重要的人生选择,是否考虑清楚了?这对于没有经验的学生来说,无疑是个困难的想选择。如何度过这···