这是感兴趣的视频的mplayer输出:
br@carina:/tmp$ mplayer foo.mov
mplayer: Symbol `ff_codec_bmp_tags' has different size in shared object, consider re-linking
MPlayer 1.0rc4-4.5.2 (C) 2000-2010 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing foo.mov.
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang eng
VIDEO: [H264] 1280x720 24bpp 59.940 fps 2494.2 kbps (304.5 kbyte/s) …Run Code Online (Sandbox Code Playgroud) 我正在使用mplayer播放视频...我想知道是否有命令行选项在mplayer中播放视频的特定间隔?例如,如果我想播放56秒的视频文件持续3秒,那么命令行选项是什么?我知道将寻求特定位置的-ss选项,但如何指定我想要播放的持续时间?具体地说,如果我想要一个从第56秒开始播放视频文件并播放3秒视频的命令(即,直到第59秒开始,或等效地,结束第58秒),命令会是什么样的?
我一直在看手册页,但还没有成功.也许我错过了什么.我真的很感谢你的帮助!
我正在寻找一些转储rtsp流的通用方法.我想弄清楚,一些rtsp流运行良好,服务器正在发送一些可观看的视频.
openRTSP
起初,谷歌推荐我openRTSP工具.
openRTSP -4 ${stream_link} > ${output_file}
Run Code Online (Sandbox Code Playgroud)
但是该工具转储的输出视频文件并不正确.视频解码器(ffdec)返回许多错误,如"无法解码视频数据包"和"[h264]无框架!",这些都不适合我.
ffmpeg的
然后我试图用ffmpeg工具转储rtsp流.
ffmpeg -loglevel debug -i "${stream_link}" -s 640x480 -vcodec copy -acodec copy -y ${output_file}
Run Code Online (Sandbox Code Playgroud)
但是流媒体过程经常被错误中断:
Application provided invalid, non monotonically increasing dts to muxer in stream 0: 730672 >= 730672
av_interleaved_write_frame(): Invalid argument
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用,--fflags igndts但ffmpeg不会忽略这些错误.它没有任何意义,因为该错误实际上意味着音频和视频流是异步发送的.最糟糕的是,由于中断转储导致的转储文件也不正确.Ffdec返回一些错误:
ERROR [mov,mp4,m4a,3gp,3g2,mj2] moov atom not found
ERROR [ffdec] av_open_input_file: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
经过一段精彩的谷歌搜索,我发现,这是一个非常古老的ffmpeg的muxer bug.
mplayer的
比我尝试使用mplayer和LIVE_555 lib.
mplayer -noframedrop -dumpfile ${output_file} -dumpstream ${stream_link}
Run Code Online (Sandbox Code Playgroud)
但我也有一些错误.
Stream not seekable!
Core dumped …Run Code Online (Sandbox Code Playgroud) 我一直在测试使用不同的播放器播放多个直播流,因为我想获得最低的延迟值.我尝试了gstreamer播放器(gst-launch-0.01),mplayer,totem和ffmpeg播放器(ffplay).我使用不同的配置值来获得每个配置值的最低延迟,例如:
ffplay -fflags nobuffer
mplayer -benchmark
Run Code Online (Sandbox Code Playgroud)
我流媒体的协议是udp,我使用ffplay比mplayer或gst-launch获得更好的价值.说实话,我不知道我需要什么样的配置才能让gstreamer获得更低的延迟.现在,我需要的是两件事:
我想知道是否有人有更好的建议来流式传输低延迟<100毫秒的直播流.我现在高于100毫秒,这对我来说效率不高.
由于我目前正在使用ffplay,因为它是目前为止最好的.我想做一个带有播放和录制按钮的简单gui和3个屏幕从不同的视频服务器流,我只是不知道使用什么样的包装(应该真的很快)!
我正在安装一台运行OpenBSD的电脑,我希望播放我想要的所有音乐.我希望它基本上设置在一个角落,并做它的事情.问题在于我想从任何地方控制它.我可以用我的电脑中的ssh做到这一点(虽然不是很容易).我认为从一个简单的网页控制(如选择歌曲,跳过,暂停,音量控制等)真的很酷,所以我可以通过手机和我的电脑访问它.
所以,我更喜欢使用mplayer.有没有办法控制mplayer说PHP脚本或类似的东西?
如何在没有元数据的情况下创建仅媒体数据的校验和,以获得媒体文件的稳定标识.优选地是具有支持多种格式的库的跨平台方法.例如vlc,ffmpeg或mplayer.
(媒体文件应该是普通格式的音频和视频,图像也很好)
我似乎无法将图像提取到特定目录中.
我正在运行的当前命令是
mplayer -vo jpeg CustomLogoAni.mp4
Run Code Online (Sandbox Code Playgroud)
是否也可以设置文件的前缀?与ffmpeg%d.jpg相似
组合图像时,我运行命令:
mencoder "mf://*.jpg" -ovc x264 -o output.avi
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
有人可以帮忙吗?
我在Mavericks上安装了XQuartz 2.7.5.之后我和mplayer一起玩的视频似乎加载在一个单独的窗口上,所有白色都只有音频播放.我通过使用launchctl禁用/Library/LaunchAgents/org.macosforge.xquartz.startx.plist和/Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist来禁用Xquartz.
我想知道如何显示以前播放的视频.我通过brew安装了mplayer.有没有办法将$ DISPLAY指向默认的x服务器?请帮忙.
谢谢
我安装通过homebrew:
brew install mplayer mpv libcaca aalib
Run Code Online (Sandbox Code Playgroud)
尝试在我的终端中播放视频作为文本.使用mplayer,我尝试了aa:
youtube-dl https://www.youtube.com/watch?v=urxk4mveLCw -o - | mplayer -cache 64000 -vo aa -
Run Code Online (Sandbox Code Playgroud)
还有caca:
youtube-dl https://www.youtube.com/watch?v=urxk4mveLCw -o - | CACA_DRIVER=ncurses mplayer -cache 64000 -vo caca -
Run Code Online (Sandbox Code Playgroud)
但是,两者都给出以下错误:
Error opening/initializing the selected video_out (-vo) device.
Run Code Online (Sandbox Code Playgroud)
再试一次mpv:
mpv "http://www.youtube.com/watch?v=OC83NA5tAGE" -vo caca
mpv "http://www.youtube.com/watch?v=OC83NA5tAGE" -vo aa
Run Code Online (Sandbox Code Playgroud)
哪个输出:
09:00 $ mpv "http://www.youtube.com/watch?v=OC83NA5tAGE" -vo aalib
Playing: http://www.youtube.com/watch?v=OC83NA5tAGE
(+) Video --vid=1 (*) (h264)
(+) Audio --aid=1 --alang=eng (*) 'DASH audio' (opus) (external)
[vo] Video …Run Code Online (Sandbox Code Playgroud) 我是一个完全的初学者,所以对任何错误表示歉意。这是我在 Python 3.5 中的代码。它在 Raspberry Pi 3 上以 Raspbian 执行。
import subprocess
radio = subprocess.Popen(["mplayer", 'http://edge-bauerabsolute-02-gos1.sharp-stream.com/absolute90s.mp3?'], shell = False , stdout=subprocess.PIPE)
print ("Other code - no waiting for the subprocess to finish")
Run Code Online (Sandbox Code Playgroud)
收音机播放约 30 秒,然后停止。我希望它在后台运行,而无需脚本等待子进程结束。另外,在 Linux 中,如果我停止脚本,收音机会作为 mplayer 的运行进程再次返回(所以 python 脚本一定以某种方式停止它?)
似乎子进程仍在继续,但音乐/声音停止了。它似乎与互联网连接无关,而且如果我等待它也不会再次启动。我尝试过执行 radio.communicate() 或 radio.stdout.read() ,这很有趣,可以让我的收音机连续播放,但不会继续脚本。我没有任何输出,脚本只是有效。
问题:当脚本执行其他操作时,如何允许“广播”进程在后台继续(同时播放音乐)?