2017-04-09 1 views
0

어떤 파일 (mp3, ogg, flac 등)을 읽고, taginject 요소를 사용하여 태그를 업데이트하지만 작동하지 않는 파이프 라인을 생성하려고합니다.Gstreamer taginject 파이프 라인이 작동하지 않습니다.

gst-launch-1.0 filesrc location=file.mp3 ! decodebin ! taginject tags="title=bla,artist=blub" ! filesink location=output_file.mp3

결과는 : 여기에

내 시도하는 파이프 라인이 실행되지만 그것은 4 메가 ​​파일에서 50메가바이트 파일을 생성하고,이 큰 파일도 재생 가능한 (그리고 아마도 태그를 포함하지 않는 아니다).

gst-launch-1.0 filesrc location=file.mp3 ! taginject tags="title=test,artist=blub" ! filesink location=output_file.mp3

결과 : 파이프 라인의 실행 및 재생 가능한 출력 파일을 생성하지만, 어떤 태그가 포함되어 있지 않습니다.

gst-launch-1.0 filesrc location=file.mp3 ! decodebin ! taginject tags="title=test,artist=blub" ! encodebin ! filesink location=output_file.mp3

결과 : 파이프 라인이 실행되지 않습니다. 그것은 taginject가 encodebin과 연결될 수 없다고 말합니다. 당신은 추가해야합니다

+0

(간단한) 해결책을 찾았습니다 : gst-launch-1.0 filesrc location = file.mp3! id3demux! taginject tags = "제목 = bla, 아티스트 = blub, 앨범 = blablub"! id3mux! 파일 위치 = 출력 파일 .mp3 – tagelicht

답변

0

내가 여기에 대한 도움을 주셔서 감사합니다 것

, 방금 내가 잘못 뭐하는 거지 잘 모릅니다 (아마도 잘못된 요소를 사용하여 ...하지만 난 그냥 문이 안 열려는 바로 사람입니다 어느 찾을 수) 태그 삽입 후 다중 송신기, 예. 예 :

gst-launch-1.0 filesrc location=file.mp3 ! parsebin ! \ 
taginject tags="title=bla,artist=blub" ! id3v2mux ! \ 
filesink location=output_file.mp3 

또한 parsebin을 사용하면 디코딩을 피할 수 있습니다.

관련 문제