gpt4 book ai didi

ffmpeg - 如何通过ffmpeg的命令行读取sei

转载 作者:行者123 更新时间:2023-12-04 23:07:07 39 4
gpt4 key购买 nike

如何通过 ffmpeg 的命令行读取 sei。
例如

ffmpeg -i INPUT -c:v copy -bsf:v filter1[=opt1=str1:opt2=str2][,filter2] OUTPUT
我知道 bsf 可以修改 sei,但它不能读取 sei。
如果命令行不能解决,请给我一些ffmpeg的api演示。
例如。
我将 h264_metadata 插入文件。
ffmpeg -i original.mp4 -c copy -bsf:v h264_metadata=sei_user_data='086f3693-b7b3-4f2c-9653-21492feee5b8+hello' file_with_h264_metadata.mp4
然后我把它推到 rtmp
ffmpeg -re -i ./file_with_h264_metadata.mp4 -vcodec h264 -f flv  rtmp://127.0.0.1:1935/live/h264_metadata
如何使用 ffmpeg 命令行提取 h264_metadata?
我试过这个,但它不起作用
ffmpeg -i rtmp://127.0.0.1:1935/live/h264_metadata -c:v copy -bsf:v h264_metadata -f null -

最佳答案

不清楚您所说的“阅读”是什么意思,但如果您只是想打印 SEI NAL 的内容,trace_headers比特流过滤器可能有用。它非常嘈杂,因此您需要过滤输出。
示例:ffmpeg -i <inputfile> -c:v copy -bsf:v trace_headers -f null -我刚刚尝试的随机文件在输出中包含以下内容:

[AVBSFContext @ 0x7fffbfeb6040] Supplemental Enhancement Information
[AVBSFContext @ 0x7fffbfeb6040] 0 forbidden_zero_bit 0 = 0
[AVBSFContext @ 0x7fffbfeb6040] 1 nal_ref_idc 00 = 0
[AVBSFContext @ 0x7fffbfeb6040] 3 nal_unit_type 00110 = 6
[AVBSFContext @ 0x7fffbfeb6040] 8 last_payload_type_byte 00000100 = 4
[AVBSFContext @ 0x7fffbfeb6040] 16 last_payload_size_byte 00010001 = 17
[AVBSFContext @ 0x7fffbfeb6040] User Data Registered ITU-T T.35
[AVBSFContext @ 0x7fffbfeb6040] 24 itu_t_t35_country_code 10110101 = 181
[AVBSFContext @ 0x7fffbfeb6040] 32 itu_t_t35_payload_byte[1] 00000000 = 0
[AVBSFContext @ 0x7fffbfeb6040] 40 itu_t_t35_payload_byte[2] 00110001 = 49
[AVBSFContext @ 0x7fffbfeb6040] 48 itu_t_t35_payload_byte[3] 01000111 = 71
[AVBSFContext @ 0x7fffbfeb6040] 56 itu_t_t35_payload_byte[4] 01000001 = 65
[AVBSFContext @ 0x7fffbfeb6040] 64 itu_t_t35_payload_byte[5] 00111001 = 57
[AVBSFContext @ 0x7fffbfeb6040] 72 itu_t_t35_payload_byte[6] 00110100 = 52
[AVBSFContext @ 0x7fffbfeb6040] 80 itu_t_t35_payload_byte[7] 00000011 = 3
[AVBSFContext @ 0x7fffbfeb6040] 88 itu_t_t35_payload_byte[8] 11000010 = 194
[AVBSFContext @ 0x7fffbfeb6040] 96 itu_t_t35_payload_byte[9] 11111111 = 255
[AVBSFContext @ 0x7fffbfeb6040] 104 itu_t_t35_payload_byte[10] 11111100 = 252
[AVBSFContext @ 0x7fffbfeb6040] 112 itu_t_t35_payload_byte[11] 10010111 = 151
[AVBSFContext @ 0x7fffbfeb6040] 120 itu_t_t35_payload_byte[12] 00100011 = 35
[AVBSFContext @ 0x7fffbfeb6040] 128 itu_t_t35_payload_byte[13] 11111101 = 253
[AVBSFContext @ 0x7fffbfeb6040] 136 itu_t_t35_payload_byte[14] 10000000 = 128
[AVBSFContext @ 0x7fffbfeb6040] 144 itu_t_t35_payload_byte[15] 10000000 = 128
[AVBSFContext @ 0x7fffbfeb6040] 152 itu_t_t35_payload_byte[16] 11111111 = 255

关于ffmpeg - 如何通过ffmpeg的命令行读取sei,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67283568/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com