问题标签 [mp4box]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Video.js 直播设置:帮助请求
我正在使用 mpeg dash 在 mp4box 和 dash.js 之间进行直播。当用户暂停太长时间播放头试图读取缓冲区已经通过的点时,客户端会出现问题。我找不到没有播放暂停或搜索栏的实时皮肤,实际上我尝试使用 video.js 自定义界面,我使用标准配置,而 css 配置没有给我我需要的东西,我希望知道是否有一种简单的开源方式来显示直播。非常感谢,马西莫
ffmpeg - 修剪 H264 视频并在 MP4 中换行,无需重新编码
所以我有一个 Raspberry Pi 应用程序,可以记录车载摄像头的输出。这些文件被记录为 H264。用户按下按钮后,我想使用 OMXPlayer 显示该视频的一部分。OMXPlayer 总是需要一个 MP4 容器(它总是忽略 FPS)。
我不想将整个 H264 包装成 MP4,因为这需要太多时间。
我的解决方案是修剪最后 30 秒并放入 MP4 容器中。我可以在不先将 H264 的全部内容复制到 MP4 的情况下一步完成吗?
我不想重新编码,我正在寻找可能的最快操作。
video-streaming - 如何使用 MP4Box 创建 TS mpeg dash
我正在尝试使用 MP4Box 使用 TS 配置文件创建 mpeg dash 文件。我尝试了以下命令:
它会生成在清单文件中检查的完整配置文件。MP4Box 是否支持创建 TS 段?
ffmpeg - 将 m3u8 (HLS) 转换为 mpd (MPEG-DASH)
我有 HLS 的实时流 [ https://82-80-192-30.vidnt.com/ipbc_IPBCchannel11LVMRepeat/definst/IPBCchannel11LVM_3.stream/playlist.m3u8 ] ,我想将其转换为 MPEG-DASH。
最佳做法是什么?
流已经是 h264 aac,因此我知道我不需要重新编码,我只需要 transmux。
我应该使用什么?ffmpeg?mp4 盒子?
笔记:
我使用 nginx-rtmp-module ( https://github.com/ut0mt8/nginx-rtmp-module/ ) 以便根据本教程从 RTMP 流创建 DASH:https ://isrv.pw/html5-live- streaming-with-mpeg-dash 但是 nginx-rtmp-module 可以只获取 rtmp 流作为输入,并且它不适用于 HLS 流。
我使用 ffmpeg 从 m3u8 创建破折号,如下所示:
ffmpeg -i https://82-80-192-30.vidnt.com/ipbc_IPBCchannel11LVMRepeat/_definst_/IPBCchannel11LVM_3.stream/playlist.m3u8 -strict -2 -min_seg_duration 2000 -window_size 5 -extra_window_size 5 -use_template 1 -use_timeline 1 -f dash out.mpd
但这是非常有限的。我无法控制分段持续时间。ffmpeg的min_seg_duration
参数对我来说不是很好,而且它可以设置最小持续时间,而我想限制每个片段的最大持续时间(片段出来〜10秒,而我需要它是〜2- 4 秒,因为我正在现场演奏)。
python - Python 3 通过 MP4Box 生成 MP4 文件
我彻底检查了我的代码以使用 popen,但仍然没有获得新的 MP4 文件。
如果我在终端 MP4Box 中手动输入它。
但是当我运行下面的代码时,它不会引发任何错误。所以我很困惑什么不起作用。
这两个定义用于 tkinter GUI 按钮。
ffmpeg - 如何在 JPEG 中编码 HEVC 平铺?
我正在尝试将 HEIF 文件转换为 JPEG 文件,我使用 MP4Box 提取 HEIC 图像图块,但是当使用 FFMPEG 将这些图块转换为 JPEG 时,我得到了:
SAKATA-INX:desktop stellar$ MP4Box -dump-item 1:path=item1.hevc still_rear.HEIC
不支持 ICC 颜色配置文件 不支持 ICC 颜色配置文件
SAKATA-INX:desktop stellar$ ffmpeg -i item1.hevc -frames:v 1 -vsync vfr -q:v 1 -an test.jpg
ffmpeg 版本 4.0 版权所有 (c) 2000-2018 FFmpeg 开发人员使用 Apple LLVM 版本 9.1.0 (clang-902.0.39.1) 构建
配置: --prefix=/usr/local/Cellar/ffmpeg/4.0 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang -- host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libav 设备 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
[hevc@0x7fc56e808e00] 格式 hevc 仅检测到低分 1,可能误检测!
[hevc@0x7fc56f800000] 没有找到起始码。
[hevc@0x7fc56f800000] 访问单元中缺少图片
[AVBSFContext @ 0x7fc56e505e00] 未找到起始代码。
item1.hevc:找不到编解码器参数
输入 #0,hevc,来自 'item1.hevc':
持续时间:不适用,比特率:不适用
输出#0,image2,到'test.jpg':
输出文件 #0 不包含任何流
谁能告诉我我该怎么做?
windows - 为什么我的 mp4 文件的音频不同步
我在将 wmv 文件转换为 mp4 时遇到问题。我正在使用 x264.exe 这个命令来获取视频流
x264 --output temporal.264 --fps 25 --preset slow --bitrate 2048 --vbv-maxrate 2048 --vbv-bufsize 9600 --min-keyint 48 --keyint 48 --scenecut 0 --no-scenecut --pass 1 --video-filter "resize:width=640,height=480" Original.wmv
然后我使用 ffmpeg.exe 用这一行提取音频流:
ffmpeg -i .wmv -acodec libfdk_aac -b:a 32000 temporal.aac
最后我使用 MP4Box 将每个流与这一行合并:
MP4Box -add temporal.264 Final.mp4
MP4Box -add temporal.aac Final.mp4
问题是 final.mp4 音频不同步。它开始很好,但随着时间的推移,它与时间不同步。
我运行这个命令:
MP4Box -info 010004470063PE-10022017083824-2_MultiMedia--1.mp4
我发现两个流的估计时间不同:
命令的输出
* Movie Info *
Timescale 600 - 2 tracks
Computed Duration 01:00:03.643 - Indicated Duration 01:00:03.643
Fragmented File: no
File suitable for progressive download (moov before mdat)
File Brand isom - version 1
Compatible brands: isom avc1
Created: GMT Wed Jun 27 16:31:44 2018
Modified: GMT Wed Jun 27 16:31:44 2018
File has root IOD (9 bytes)
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x7f)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Track # 1 Info - TrackID 1 - TimeScale 25000
Media Duration 00:59:57.520 - Indicated Duration 00:59:57.520
Track has 1 edit lists: track duration is 00:59:57.320
Media Info: Language "Undetermined (und)" - Type "vide:avc1" - 89938 samples
Visual Track layout: x=0 y=0 width=640 height=480
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 640 x 480
AVC Info: 1 SPS - 1 PPS - Profile Main @ Level 3
NAL Unit length bits: 32
Chroma format YUV 4:2:0 - Luma bit depth 8 - chroma bit depth 8
SPS#1 hash: 41EE779BEF2AA71A7131EAFD3C77C7E3BC95FD8E
PPS#1 hash: 086E1D72A40A0E8CF35D102F34A9DF6CD44D6CEF
Self-synchronized
RFC6381 Codec Parameters: avc1.4D401E
Average GOP length: 250 samples
Track # 2 Info - TrackID 2 - TimeScale 44100
Media Duration 01:00:03.644 - Indicated Duration 01:00:03.644
Media Info: Language "Undetermined (und)" - Type "soun:mp4a" - 155196 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100
Synchronized on stream 1
RFC6381 Codec Parameters: mp4a.40.2
All samples are sync
我不支持为什么会发生这种情况,因为原始的 wmv 是完全同步的。有什么帮助吗?
video-streaming - 将 mp4 曲目转换为没有 ffmpeg 的图像
我正在开发一个 C# 工具来将 mp4 帧提取到图像中。(不使用ffmpeg)
我使用了一个名为 ISO Viewer 2.0.2 的工具,我在 Tracks 选项卡中看到了我所有的 mp4 视频帧(5 秒 145 帧,每帧称为样本)。
在每个帧/样本上,我可以获得数据字节 []。那么它如何将这些数据转换为 C# 中的图像呢?
video - 更改像素纵横比对播放没有影响
我有一个分辨率为 480x540 的 mp4 视频,我想将其显示为 16:9 但无需重新编码。根据本指南,我尝试使用 MP4Box 设置像素纵横比 (PAR),如下所示:
http://www.komeil.com/blog/change-mp4-aspect-ratio-mp4box
但是,当使用 VLC 或 Windows Media Player 播放文件时,文件仍然无法以 16:9 的纵横比播放,因此设置 PAR 值似乎没有效果。
更改 PAR 值之前的 FFprobe 输出:
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 480x540, 286 kb/s, 30 fps, 29.97 tbr, 16k tbn, 59.94 tbc (default)
改变 PAR 值后的 FFprobe 输出:
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 480x540, 286 kb/s, SAR 2:1 DAR 16:9, 30 fps, 29.97 tbr, 16k tbn, 59.94 tbc (default)
有没有其他方法可以“强制”玩家使用容器中编码的 PAR?